Explicação resumida:
let xCarros = [600, 600, 600];
let yCarros = [40, 96, 150];
let velocidadeCarros = [2, 2.5, 3.2];
Nessas linhas, são declaradas três arrays: xCarros
, yCarros
e velocidadeCarros
. Esses arrays armazenam as posições horizontais dos carros, as posições verticais dos carros e as velocidades dos carros, respectivamente. Cada posição nos arrays representa um carro diferente. No exemplo acima, existem três carros.
function mostraCarro(){
for (let i = 0; i < imagemCarros.length; i = i + 1){
image(imagemCarros[i], xCarros[i], yCarros[i], 50, 40);
}
}
Essa função mostraCarro
é responsável por exibir os carros na tela do jogo. Ela utiliza um loop for
para percorrer cada posição dos arrays imagemCarros
, xCarros
e yCarros
. A função image
é usada para exibir a imagem do carro na posição especificada pelas coordenadas (xCarros[i], yCarros[i])
.
function movimentaCarro(){
for (let i = 0; i < imagemCarros.length; i = i + 1){
xCarros[i] -= velocidadeCarros[i];
}
}
A função movimentaCarro
é responsável por mover os carros na horizontal. Ela utiliza um loop for
para percorrer cada posição dos arrays imagemCarros
e xCarros
. A cada iteração do loop, a posição xCarros[i]
é diminuída pela velocidade correspondente em velocidadeCarros[i]
, movendo o carro para a esquerda.
function voltaPosicaoInicialDoCarro(){
for (let i = 0; i < imagemCarros.length; i = i + 1){
if (passouTodaATela(xCarros[i])){
xCarros[i] = 600;
}
}
}
Essa função voltaPosicaoInicialDoCarro
verifica se um carro passou completamente pela tela do jogo e, caso positivo, redefine sua posição inicial. Ela também utiliza um loop for
para percorrer cada posição dos arrays imagemCarros
e xCarros
. A função passouTodaATela
é chamada, passando xCarros[i]
como argumento, e se essa função retornar true
, significa que o carro está fora da tela e sua posição é redefinida para 600
, trazendo-o de volta para o lado direito da tela.
function passouTodaATela(xCarro){
return xCarro < -50;
}
Essa função passouTodaATela
verifica se um determinado carro passou completamente pela tela do jogo. Ela recebe a posição horizontal xCarro
de um carro como argumento e retorna true
se o valor for menor que -50
, indicando que o carro está fora da tela, ou seja, à esquerda do limite esquerdo da tela. Caso contrário, retorna false
. Essa função é usada pela função voltaPosicaoInicialDoCarro
para determinar se um carro deve voltar à sua posição inicial.