Eu criei as condições de marcação de ponto, perda e de impedimento do personagem sair da tela, mas sem tantas funções booleanas. Segue o código:
//variáveis do ator
let xAtor = 100;
let yAtor = 368;
let alturaAtor = 30;
let larguraAtor = 30;
let colisao = false;
let pontos = 0;
function mostraAtor() {
image(imagemDoAtor, xAtor, yAtor, alturaAtor, larguraAtor);
}
function movimentaAtor() {
if (keyIsDown(UP_ARROW)) {
yAtor -= 5;
}
if (keyIsDown(DOWN_ARROW)) {
yAtor += 5;
}
if (keyIsDown(RIGHT_ARROW)) {
xAtor += 5;
}
if (keyIsDown(LEFT_ARROW)) {
xAtor -= 5;
}
}
function verificaColisao() {
// //collideRectCircle(x1, y1, width1, height1, cx, cy, diameter)
for (let i = 0; i < imagensDosCarros.length; i++) {
colisao = collideRectCircle(xCarros[i], yCarros[i], 40, 50, xAtor, yAtor, 15);
if (colisao) {
perdePonto();
voltaAtorParaAPosicaoInicial();
}
}
}
function voltaAtorParaAPosicaoInicial() {
xAtor = 100;
yAtor = 368;
}
function ultrapassouABordaDaTela() {
if (xAtor < 0) {
voltaAtorParaAPosicaoInicial();
}
if (yAtor > 368) {
voltaAtorParaAPosicaoInicial();
}
}
function incluiPontos() {
textAlign(CENTER);
textSize(23);
fill(color(255,255,0));
text(pontos, 100, 27);
}
function perdePonto() {
if (pontos > 0) {
pontos--;
}
}
function marcaPonto() {
if (yAtor < 0) {
pontos++;
voltaAtorParaAPosicaoInicial();
}
}
Não usar funções booleanas para verificações é um problema? Ou é mais recomendados que a usemos mesmo?