1
resposta

Dica pra deixar o jogo mais "interessante"

Você pode pode utilizar o seguinte trecho de código para tornar a skin do carro aleatória:

function voltaPosicaoCarro(){
  if(xCarros[0] < -50){
    xCarros[0] = 600;
    i = Math.round(Math.random() * 2);
  }
  if(xCarros[1] < -50){
    xCarros[1] = 600;
    j = Math.round(Math.random() * 2);
  }
  if(xCarros[2] < -50){
    xCarros[2] = 600;
    k = Math.round(Math.random() * 2);
  }
}

Trata-se da função que faz faz o carro voltar para posição inicial, mas com uma modificação: agora sempre que o carro for voltar para o início um número aleatório entre 0 e 2 é gerado - a variável que recebe esse número deve ser passada como índice da lista de imagens - dessa forma o carro vai mudar de aparência.

Criar uma variável que armazene o índice anterior é uma possibilidade, dessa forma é possível garantir que o novo número aleatório nunca seja igual ao anterior.

1 resposta

Olá Davi, tudo certo? Espero que sim!

Sentimos muito pela demora na resposta.

Como um primeiro momento gostaria de te parabenizar pelo esforço e dedicação em ir além e contribuir mais ainda ao código padrão, meus parabéns!

Achei muito interessante a sua ideia de deixar aleatórias as cores dos carros, algo que gostaria de conversar sobre é a parte que você comenta fora de seu código, quanto a aplicação dos índices. Se você pudesse, por gentileza, demonstrar como seria feita essa inserção no índice das imagens seria ótimo!

Seguindo a lógica, a ideia seria passar as variáveis i, j e k como probabilidades em uma lista, correto? Dessa forma, cada variável seria usada assim:

//imagens.js
    let imagensAleatorias;

Function preload(){
    imagensAleatorias = [i, j, k]

}

Me corrija se estiver errado, mas se for essa a forma não conseguimos adquirir o resultado desejado, se puder por gentileza compartilhar como descreveu seu código nessa parte seria esclarecedor.

Fico à disposição e no aguardo.

Um bom dia e bons estudos!