Trabalho: simulador de festa

Descrição

Implemente um simulador de festa.

Seu simulador lerá de um arquivo o mapa do local da festa, incluindo a localização da entrada, do bar. O simulador fará pessoas entrarem e saírem na festa. Cada pessoa tem as características:

Você pode adicionar outras características às pessoas.

Em cada passo da simulação, todas as pessoas agem. Elas podem andar em alguma direção, conversar, ir ao banheiro ou ao bar. Uma pessoa vê quem está a uma certa distância de si. O banheiro é pequeno (há um limite para o número de pessoas)

As pessoas tentam ficar mais próximas de quem tem interesse em comum, e de quem é interessante. Quanto mais ficar perto de gente interessante, menor a probabilidade de sair da festa.

Para sair da festa, uma pessoa andará na direção da saída. Quando estiver já na saída, é retirada da simulação.

Seu simulador deve funcionar de diferentes maneiras:

O simulador deve produzir relatórios estatísticos sobre tempo de permanência na festa, gasto no bar, proporção de pessoas com cada interesse, etc.

Comentário:

Use barreira para sincronizar as pessoas em cada passo da simulação. Você pode usar registros (SRFI-9 ou similar) para representar pessoas, se quiser.