Olá, Tenho a seguinte dúvida:
A função "passouTodaATela" não é declarada em draw () porque ela está dentro da função "voltaPosiçãoInicial" ?
Obrigado.
Olá, Tenho a seguinte dúvida:
A função "passouTodaATela" não é declarada em draw () porque ela está dentro da função "voltaPosiçãoInicial" ?
Obrigado.
Oi Sérgio, beleza?
Toda função deve conter o princípio de responsabilidade única. Neste caso a função "passouTodaATela" é para verificar se o carro está dentro do limite de tela. Então por exemplo, se eu tenho um tamanho de tela 100x100 e o carro está na posição 120, quer dizer que o carro passou do limite de tela permitido, certo ?Daí, quando ocorrer a ultrapassagem deste limite, o carro irá voltar a posição inicial.
Portanto, a função "passouTodaATela" está contida dentro da função "voltaPosicaoInicialDoCarro", que por sua vez é chamada na função "movimentaCarro". E a função "movimentaCarro" é chamada na função draw() .
Sendo assim, pode-se perceber que indiretamente a função "passouTodaATela" é chamada na função "draw". Caso a mesma fosse chamada diretamente, o bloco de código da função "voltaPosicaoInicialDoCarro" teria que está dentro de draw(). Desta maneira, perderia o sentido de responsabilidade única da função draw() que é apenas desenhar os objetos na tela segundo uma posição X, pois ela também teria que fazer os cálculos para saber se o carro ultrapassou a tela ou não.
Espero que tenha ajudado. Bons estudos !