Collision portuguese



Descrição: O evento de colisão ocorre quando dois agentes se encontram em uma determinada direção. Um exemplo de colisão acontece no jogo Frogger, onde pode ocorrer que um caminhão atropele um sapo. O caminhão quer continuar dirigindo para a direita mas o sapo está no caminho. O sapo vivo precisar ser substituído por um sapo morto quando isso acontece.

Exemplos do Mundo Real: "Um jogador de futebol que chuta uma bola em movimento ou parada."

Psedudocódigo: Vamos fazer o pseudocódigo para a imagem acima. Existem muitas maneiras de se fazer isso mas mais a forma mais correta é a seguinte:

IF o Caminhão ver o sapo pela direita, THEN o caminhão manda uma mensagem ao sapo dizendo que ele, o sapo, está sendo atropelado.

IF o sapo recebe uma mensagem dizendo que ele está sendo atropelado, THEN o sapo substitui sua imagem com uma imagem de um sapo morto.

Código AgentSheets:

O código do caminhão:

O código do sapo:

Uma maneira de programar este efeito é fazer com que o agente caminhão cheque se o agente sapo está diretamente a sua frente. Ao invés de usar uma linguagem ou sistema específico de representação vamos capturar esse comportamento utilizando um diagrama de sequência UML para ilustrar a interação do caminhão com o sapo.

o caminhão faz tudo: ele detecta o sapo e determina o que é feito com ele. Se existem muitas coisas em que o caminhão pode bater, com diferentes efeitos (por exemplo se o caminhão bater num carro, provavelmente o carro não vai virar um sapo morto), todas elas precisam ter seu comportamento específico para o caminhão.



Parece mais natural fazer com que o sapo lide com as consequências de seu acidente. Uma segunda abordagem, que implementa essa idéia, é para o sapo detectar a aproximação do caminhão, e, se detectá-lo, tomar uma ação apropriada, neste caso tornando-se ele mesmo um sapo morto. Agora este sapo pode fazer tudo: detectar o caminhão e tomar uma ação. Se existirem diferentes coisas que podem atropelar o sapo, por exemplo, carros e ônibus, o sapo tem de ser programado para detectar todas elas.

A abordagem recomendada é a de mistura da duas abordagens, a centrada no caminhão e a centrada no sapo.Isto pode parecer complicado no começo mas deixa a abordagem mais natural às situações em que vários tipos de coisas podem colidir com outros vários tipos de coisas.

A idéia é que o comportamento de colisão seje dividido entre o caminhão e o sapo. O caminhão detecta o sapo (ou qualquer coisa que posso colidir com ele) em manda uma mensagem para o sapo. O sapo então responde a essa mensagem mudando ele mesmo par um sapo morto. Este diagrama mostra a sequência de eventos: caminhões veêm sapos, caminhões mandam mensagens aos sapos. Os sapos reagem mudando sua aparência para uma de sapo morto, toca um som, e se apaga.