Olá, pessoal!
Eu tentei customizar meu código para que a pontuação fosse subtraída do ator quando houvesse uma colisão, mas a pontuação estava ficando negativa, então eu tentei adicionar na mesma função uma correção, mas não funciona. Abaixo meu código:
//Variáveis do ator
let yAtor = 510;
let xAtor = 100;
let colisao = false;
let meusPontos = 0;
function mostraAtor(){
image(imagemDoAtor,xAtor,yAtor,30,30);
}
function movimentaAtor(){
if (keyIsDown(UP_ARROW)){
yAtor -=3;
}
if (keyIsDown(DOWN_ARROW)){
yAtor +=3;
}
if (keyIsDown(LEFT_ARROW)){
xAtor -=3
}
if (keyIsDown(RIGHT_ARROW)){
xAtor +=3
}
}
//collideRectCircle(x1, y1, width1, height1, cx, cy, diameter)
function verificaColisao(){
for (let i = 0; i < imagemCarros.length; i = i+1){
colisao = collideRectCircle(xCarros[i],yCarros[i],comprimentoCarro,alturaCarro,xAtor,yAtor,15)
if (colisao){
voltaAtorInicio();
}
}
}
function voltaAtorInicio(){
yAtor = 510;
}
function colidiu(){
yAtor = 510;
}
function incluiPontos(){
textStyle (BOLD);
fill (247, 249, 249);
textAlign (CENTER);
textSize (25);
text (meusPontos,width/5,33);
}
function marcaPontos(){
if (yAtor < 9){
meusPontos +=1;
voltaAtorInicio();
}
}
function retiraPontos(){
if (colisao){
meusPontos -=1;
meusPontos >0;
}
}