O jogo: https://editor.p5js.org/Jeancg4p0/full/xfa6pwY-Y o código: https://editor.p5js.org/Jeancg4p0/sketches/xfa6pwY-Y
Aqui funcionou normalmente. Provavelmente seu Navegador esta bloqueando o Alert do javaScript. Verifica isso
Testei em outro Navegador mas o problema persiste, após o "alert()" o jogador até se move e as outras funções continuam sendo executadas com exceção de pontos.play(); então quando o jogador pontua o jogo trava. Fiz umas alterações na velocidade do Jogador código: https://editor.p5js.org/Jeancg4p0/sketches/xfa6pwY-Y
Olhei no F12 (opcao de desenvolvedor)
Uncaught TypeError: pontos.play is not a function
at pontua (10782ad9-16a1-47bb-8fda-31a06f426849:64:16)
at draw (edca6214-8a27-4d28-adec-0cd659ae37f7:16:3)
at p5._main.default.redraw (p5.js:70809:27)
at _draw (p5.js:63046:25)
Removi os play = 0; Vc estava mudando o tipo da variavel.
//jogador
var xJogador = 15;
var yJogador = 310;
var wJogador = 25;
var hJogador = 28;
var colisao = false;
var meusPontos = 0;
var velJogadorI = 2;
var velJogador;
console.log(velJogador);
function mostraJog(){
image(imgJogador, xJogador, yJogador, wJogador, hJogador);
}
function movimentaJog(){
if(keyIsDown(UP_ARROW)){
yJogador -= velJogador;
}
if(keyIsDown(DOWN_ARROW)){
yJogador += velJogador;
}
if(keyIsDown(LEFT_ARROW)){
xJogador -= velJogador;
}
if(keyIsDown(RIGHT_ARROW)){
xJogador += velJogador;
}
}
function verificaColisao(){
//collideRectRect(x, y, width, height, x2, y2, width2, height2 )
for(var i = 0; i < imgCarros.length; i++){
colisao = collideRectRect(xJogador, yJogador, wJogador, hJogador, xCarros[i], yCarros[i], wCarros, hCarros );
if(colisao){
começaDnv();
colidiu.play();
if(chances > 0){
chances--;
}
if(chances == 0){
perder();
}
}
}
}
function perder(){
alert("PERDEU!");
chances = 7;
rounds = 1;
}
function começaDnv(){
yJogador = 310;
}
function pontua(){
if(yJogador + hJogador < 30 && meusPontos < 2){
meusPontos++;
começaDnv();
pontos.play();
}
if(yJogador + hJogador < 30 && meusPontos >= 2){
pontos.play();
começaDnv();
meusPontos = 0;
rounds++;
velJogador = velJogadorI*rounds;
}
if(meusPontos < 2){
velJogador = velJogadorI*rounds;
}
}
function impedimento(){
if(yJogador > 320){
yJogador = 300
}
}
function verificaRound(){
velCarros.splice(0, 6, 2.5*rounds, 1.9*rounds, 0.5*rounds, 1*rounds, 2.2*rounds, 3*rounds);
}
Nossa, muito obrigado de início não tinha entendido o que eu tinha errado, mas depois entendi, para zerar o placar após o alert não mudei a variável meusPontos mas sim a que guardava o som https://editor.p5js.org/Jeancg4p0/sketches/xfa6pwY-Y