1
resposta

[Dúvida] Duvida sobre a lógica

Gostaria de saber se o jeito que interpretei a lógica está correta dessa parte do código:

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

function passouTodaATela(xCarro){
  return xCarro < - 50;
}

Em:

function passouTodaATela(xCarro){ return xCarro < - 50; }

Aqui esperamos um retorno booleano da condição xCarro (se é true ou false), e sua resposta é "armazenada/salva" em passouTodaATela(True ou False)

Quando passouTodaATela é chamada em voltaPosicaoInicialDoCarro() nós podemos ler da seguinte maneira:

function voltaPosicaoInicialDoCarro(){
  for (let i = 0; i < imagemCarros.length; i = i + 1){
    if (passouTodaATela(xCarros[i])){ // SE passouTodaATela = TRUE (a array é percorrida, ou seja, i = i + 1) se for FALSE nada acontece
      xCarros[i] = 600;
    }
  }
}

Por favor, gostaria de saber se essa forma de interpretar o código é correta, ou existe algum erro

1 resposta

Olá Gabriel, tudo bem?

Sua interpretação da lógica está correta! A função passouTodaATela retorna um valor booleano (true ou false) dependendo da condição que é avaliada. E na função voltaPosicaoInicialDoCarro, a condição "if" verifica se a função passouTodaATela retorna "true" para o valor xCarros[i].

Se for verdadeiro, o valor de xCarros[i] é atualizado para 600. Caso contrário, nada acontece. Parabéns pela dedicação em entender a lógica do código!

Espero ter ajudado. Caso tenha mais dúvidas, com relação a este tópico, estarei a disposição para ajudá-lo.

Abraços e bons estudos!

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