Fala Clay! Tudo Certo? Eu vi o seu código e o problema em fazer os carros retornarem é que todos estão no mesmo array. quando ocorre isso todos estão retornando da posição 600 como vc tinha colocado na função VoltaParaPosicaoInicial ( ). Isso faz com que a função voltaPosicaoFinalDoCarro() não funcione.. Para conseguir fazer com que os carros retornem na posição inicial eu sugiro separar três carros em um array e três em outro e separar as funções como eu fiz : https://editor.p5js.org/ric.asjunior/sketches/UkWJt4eJH .
carro.js
let xCarros = [600, 600, 600];
let yCarros = [45, 101, 155];
let velocidadeCarros = [2, 2.5, 3.2];
let xCarrosDois = [00, 00, 00];
let yCarrosDois = [210, 270, 318];
let velocidadeCarrosDois = [-5, -3.3, -2.3];
let comprimentoCarro = 40;
let alturaCarro = 30;
function mostraCarro(){
for (let i = 0; i < imagemCarros.length; i++){
image(imagemCarros[i], xCarros[i], yCarros[i], comprimentoCarro, alturaCarro);
}
}
function mostraCarroDois(){
for (let i = 0; i < imagemCarros.length; i++){
image(imagemCarros[i], xCarrosDois[i], yCarrosDois[i], comprimentoCarro, alturaCarro);
}
}
function movimentaCarro(){
for (let i = 0; i < imagemCarros.length; i++){
xCarros[i] -= velocidadeCarros[i];
}
}
function movimentaCarroDois(){
for (let i = 0; i < imagemCarros.length; i++){
xCarrosDois[i] -= velocidadeCarrosDois[i];
}
}
function voltaPosicaoInicialDoCarro(){
for (let i = 0; i < 3; i++){
if (passouTodaATela(xCarros[i])){
xCarros[i] = 600
}
}
}
function voltaPosicaoInicialDoCarroDois(){
for (let i = 0; i < 3; i++){
if (passouTodaATelaDois(xCarrosDois[i])){
xCarrosDois[i] = -50
}
}
}
function passouTodaATela(xCarros){
return xCarros < -50;
}
function passouTodaATelaDois(xCarrosDois){
return xCarrosDois > 500
}
schetch.js
function setup() {
createCanvas(500, 400);
// somDaTrilha.loop();
}
function draw() {
background(imagemEstrada);
mostraAtor();
movimentaAtor();
mostraCarro();
mostraCarroDois();
movimentaCarro();
movimentaCarroDois();
voltaPosicaoInicialDoCarro();
voltaPosicaoInicialDoCarroDois();
verificaColisao();
incluiPontos ();
marcaPonto();
}