olá, Gustavo eu olhei o seu código, o problema esta na ultima instrução do for , que faz com que o loop seja encerrado.
Caso a ultima condição esteja errada o loop não encerra, o que faz com que o navegador trave.
código com erro:
function mostraCarro(){
for(let i = 0; i < imagemCarros.length; i = i++){
image(imagemCarros[i], xCarros[i], yCarros[i], 50, 40)
}
}
function movimentaCarro(){
for(let i = 0; i < imagemCarros.length; i = i++){
xCarros[i] -= velocidadeCarros[i];
}
}
function voltaPosicaoInicialDoCarro(){
for(let i = 0; i < imagemCarros.length; i = i++){
if(passouTodaATela(xCarros[i])){
xCarros[i] = 600;
}
}
}
código correto:
function mostraCarro(){
for(let i = 0; i < imagemCarros.length; i++){
image(imagemCarros[i], xCarros[i], yCarros[i], 50, 40)
}
}
function movimentaCarro(){
for(let i = 0; i < imagemCarros.length; i++){
xCarros[i] -= velocidadeCarros[i];
}
}
function voltaPosicaoInicialDoCarro(){
for(let i = 0; i < imagemCarros.length; i++){
if(passouTodaATela(xCarros[i])){
xCarros[i] = 600;
}
}
}
outra forma correta de escrever o mesmo código:
function mostraCarro(){
for(let i = 0; i < imagemCarros.length; i = i +=1){
image(imagemCarros[i], xCarros[i], yCarros[i], 50, 40)
}
}
function movimentaCarro(){
for(let i = 0; i < imagemCarros.length; i = i +=1){
xCarros[i] -= velocidadeCarros[i];
}
}
function voltaPosicaoInicialDoCarro(){
for(let i = 0; i < imagemCarros.length; i = i +=1){
if(passouTodaATela(xCarros[i])){
xCarros[i] = 600;
}
}
}