Boa tarde! Eu fiz uma adaptação no código para os carros correrem em direções opostas, como se fosse uma via de mão dupla mesmo. Porém, os 3 primeiros carros estão andando certinho e os 3 últimos, na mão oposta, não estão retornando para a posição inicial. Conseguimos ver onde que errei? Na verdade eu até sei o que está errado, mas não sei acertar.
Jogo: https://editor.p5js.org/aquino2217/full/VfbhO-IQC
Código dos carros: //código do carro
let xCarros = [600, 600, 600, -100, -100, -100]; let yCarros = [40, 96, 150, 210, 270, 318]; let velocidadeCarros = [2, 2.5, 3.2, -5, -3.3, -2.3]; let comprimentoCarro = 50; let alturaCarro = 40;
function mostraCarros(){ for(let i = 0; i < imagemCarros.length; i++){ image(imagemCarros[i], xCarros[i], yCarros[i], comprimentoCarro, alturaCarro); } }
function movimentaCarros(){ 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; } } }
function passouTodaATela(xCarros){ return xCarros < - 50; }