A atividade proposta é para basicamente explicar a criação de uma aplicação, que inicialmente armazena, num vetor, as velocidades aleatórias de 20 carros (retângulos coloridos) e, empregando a função MRU, mostra na tela uma corrida disputada entre os mesmos e identifica o carro vencedor.
Primeiro eu criei 3 funções. A primeira foi a do movimento MRU, que foi exatamente igual a apresentada pelo professor na aula, no qual a gente passa os parâmetros de velocidade (v) e tempo (t), e ela retorna a distância (d) que os carros vão percorrer. Em seguida criei uma função chamada car, que cria o carro usando funções rect, e inicia a posição x dos carros com a distância, que é gerada a partir da função MRU. Nessa função também é atribuído o número de cada carro. E por último criei a função speedWay, que cria a pista de corrida e a linha de chagada.
Depois disso, eu criei no setup() um vetor de velocidades, com valores variando de 50 a 100, equivalentes nesse caso às velocidades de 50m/s a 100m/s, pois essa foi a unidade proposta, e usei um laço for para atribuir as 20 velocidades em cada posição do vetor.
Depois eu criei um if no draw(), para saber se os carros chegaram ou não à linha de chegada. Para isso, foi criado um laço for com a variável endRace que é inicializada com true. Se a distancia dos carros for maior ou igual a distancia da linha de chegada, então ela se torna false, o contador winner recebe a posição do vetor (que nesse caso será o número do carro) referente ao carro que chegou primeiro, e então o laço acaba com um break. Se não, quando a variável endRace for false, é por que o carro já venceu. Então é mostrado um texto na tela com o número do carro vencedor.
0 comentários:
Postar um comentário