1
resposta

Não reduz os pontos.

Boa tarde, queria saber se alguém consegue me ajudar, fiz o código e já revisei varias vezes, mas quando ocorre a colisão não reduz o pontos, não sei onde estou errando. https://editor.p5js.org/Pkamuy/sketches/hQc8J5A2_

//código do ator
let xAtor = 85;
let yAtor = 366;
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;
  }
}
function verificaColisao(){
  //collideRectCircle(x1, y1, width1, height1, cx, cy, diameter)
  for (let i = 0; i < imagemCarros.length; i++){
    colisao = collideRectCircle(xCarros[i], yCarros[i], comprimentoCarro, alturaCarro, xAtor, yAtor, 15)
    if (colisao){
    voltaAtorParaPosicaoInicial();
    if (pontosMaiorQueZero()){     
      meusPontos -= 1;
      }
    }
  }
}
function voltaAtorParaPosicaoInicial(){
  yAtor = 366;  
}
function incluiPontos(){
  textAlign(CENTER);
  textSize(25);
  fill(color(255, 240, 60))
  text(meusPontos, width / 5, 27);
}
function marcaPonto(){
  if (yAtor < 15){
    meusPontos += 1;
    voltaAtorParaPosicaoInicial();
  }
}
function pontosMaiorQueZero(){
  return meusPontos < 0;
}
1 resposta

Boa noite, Pedro! Tudo bem?

Percebi que na sua função pontosMaiorQueZero(), você está verificando se os pontos são MENORES que zero, e não MAIORES. Neste trecho de código:

function pontosMaiorQueZero(){
  return meusPontos < 0;
}

Do jeito que está escrito, só seria descontado um ponto caso o saldo de pontos já fosse negativo, e não é isso que a gente quer. Experimente trocar o sinal de "<" por ">" e veja se vai dar certo.

Espero ter ajudado :)