Boa noite à todos.
Percebi que não foi apenas eu que tive dificuldade em compreender a lógica de onde o código tira o paramêtro do xCarro para ser analisado, uma vez que tal variável não foi específicada em momento nenhum, e sim a do xCarros.
Várias respostas - tais como a da Giovanna Moeller e do Matheus Castiglioni - que foram muito bem explicadas, tais quais compreendi o propósito do return nas explicações e poderia me dar por satisfeito... Maaaaas, de fato nenhuma delas respondeu minha dúvida.
Talves pelo fato de xCarro for parecido com xCarros, o "erro" permanece sem explicações.
Então vamos eliminar tal problema... Renomeei a dita variável para chapolin afim de evitar mais confusões, e...
Como isso é possível?
// Código dos Carros
let xCarros = [600, 600, 600];
let yCarros = [40, 96, 150];
let speed = [2, 2.5, 3.2];
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] -= speed[i];
}
}
function carLoop(){
for(let i = 0; i < imagemCarros.length; i = i + 1){
if(passouTodaATela(xCarros[i])){
xCarros[i] = 600;
}
}
}
function passouTodaATela(chapolin){
return chapolin < - 50;
}
Lembrando que não específiquei nenhum tipo de variável chamada chapolin. Realmente apenas a usei nessa função, e... Sim... O jogo está rodando normalmente como "esperado". Os carros saem da tela e reaparecem em loop.
Acredito que agora agora a minha dúvida e a de tantos outros está clara.
*Alteração irrelevante (voltaPosicaoInicialDoCarro = carLoop)