1
resposta

[Bug] Meu código fica dando um bug em que as imagens dos carros desaparecem.

Na atividade Lógica de programação: laços e listas com Javascript, ele ensina como usar laços e listas, o porém é que no meu código da um erro em que, no momento em que quaisquer carro atravessa a pista, ele desaparece para sempre, e eu não sei como resolver, eu tentei até copiar exatamente o que estava no vídeo e não dava certo. Se precisar do código completo, pode me mandar mensagem no discord Gustavo, vulgo Alex#5897.

//codigo do carro

let xCarros = [600, 600, 600]
let yCarros = [40, 96, 150]
let vCarros = [2,2.5,3.5]

function mostraCarro(){
  for (let i = 0; i < imagensCarros.length; i+=1){
    image(imagensCarros[i], xCarros[i], yCarros[i], 60, 40)
  }
}

function movimentaCarro(){
  for (let i = 0; i < imagensCarros.length; i+=1){
  xCarros[i] -= vCarros[i];
  }
}


function reiniciaCarro(){
  for (let i = 0; i < imagemCarros.length; i+=1){
    if (passouTodaATela(xCarros[i])) {
    xCarros[i] = 600;

    }
  } 
}

function passouTodaATela(xCarro){
  return xCarro < -60;
}
1 resposta

Oi Gustavo, como você está?

Peço desculpas pela demora em te responder.

Gus, no seu código há um errinho de sintaxe. Perceba que na function reiniciaCarro a lista de carros está com o nome imagemCarros, enquanto nas outras linhas está com o nome imagensCarros, no plural.

Verifique também se no arquivo sketch.js, na função draw, a função reiniciaCarro foi chamada corretamente. Não é necessário chamar a função passouTodaATela, pois ela só será executada dentro de reiniciaCarro. Caso ela esteja no draw, o retorno de xCarro com um valor negativo acontecerá em loop e os carros não aparecerão na tela.

Caso ainda assim não resolva, peço que compartilhe o link do seu código comigo aqui pelo fórum. Para realizar o compartilhamento, podemos seguir os passos abaixo:

  • Localizar a barra superior com os itens “File”, “Edit”, “Sketch”, e “Help” (em Português, as opções seriam: “Arquivo”, “Editar”, “Esboço” e “Ajuda”, respectivamente);
  • Clicar em “File”;
  • Selecionar a opção “Share” ou “Compartilhar”;
  • Copiar o link da terceira opção da lista (de cima para baixo);
  • Colá-lo em seu tópico do fórum.

Aguardo seu retorno, Gus!

Um grande abraço.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!