Antes de refatorar o meu código, na parte da função voltaPosicaoInicialDoCarro com os índices, estava tudo correto e funcionando, mas após mudar seguindo a vídeo aula, não funciona mais, os carros não voltam mais a posição inicial e quando volta é a penas o primeiro.
Já reescrevi, Copiei o código igual ao do professor, alterando apenas alguns valores de velocidade, e mesmo assim não funciona.
o códido enquanto funcionava estava assim:
//variaveis do carro
let yCarros = [45, 100, 150];
let velocidadeCarros = [2.4, 4, 3.1]
let xCarros = [600, 600, 600]
function mostraCarro(){
for (let i = 0; i < imagemCarros.length; i = i + 1 ){
image(imagemCarros[i], xCarros[i], yCarros[i], 50, 30);
}
}
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 (xCarros[0] < -50){
xCarros[0] = 600
}
if (xCarros[1] < -50){
xCarros[1] = 600
}
if (xCarros[2] < -75){
xCarros[2] = 600
}
}
Após eu alterar exatamente como feito no vídeo, parou de funcionar. O código com o bug está assim:
//variaveis do carro
let xCarros = [600, 600, 600]
let yCarros = [45, 100, 150];
let velocidadeCarros = [2.4, 4, 3.1]
function mostraCarro(){
for(let i = 0; i < imagemCarros.length; i = i + 1){
image(imagemCarros[i], xCarros[i], yCarros[i], 50, 30);
}
}
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
}
}
}
function passouTodaATela(xCarro){
return xCarros < -50;
}