Jogo Pacman
O
jogo PacMan consiste em conduzir um personagem (o "Pac-Man") através
de um labirinto, de tal maneira que ele passe por todas as posições
nas quais exista uma "fruta" a ser comida. Ao passar sobre a fruta,
esta desaparece do labirinto e o jogador ganha pontos.
O
PacMan é perseguido por "monstros" em número variado,
e o jogador deve evitar que um monstro alcance o PacMan, do contrário
o jogo é finalizado. Quando todas as frutas do labirinto são comidas
inicia-se uma nova fase com um nível de dificuldade maior (mais monstros
e/ou monstros que se deslocam em maior velocidade).
Existem
também no labirinto as chamadas "frutas especiais", que quando
comidas pelo Pacman o tornam invencível por algum tempo. Neste caso,
se algum monstro alcançar o PacMan este monstro é tornado inofensivo
por algum tempo.
Questão:
escrever um programa em C que implemente o jogo PacMan com console em modo texto.
O programa tem as seguintes características:
- o PacMan é
representado por um caracter qualquer (por exemplo, '@') exibido em uma
cor que o distingua dos demais.
- os monstros
são representados por um outro caracter, exibido em uma outra cor.
- quando come
uma fruta especial o PacMan muda de cor. Os monstros também mudam
de cor quando ficam inofensivos.
- o labirinto
possui 40 caracteres de largura por 40 caracteres de altura e é sorteado
ao início de cada fase. Deve-se tomar o cuidado para que todas as
posições contendo uma fruta sejam alcançáveis
pelo PacMan.
- as teclas
de seta do teclado são utilizadas para movimentação
do PacMan.
- o jogo pode
ser finalizado a qualquer momento pressionando-se a tecla ‘ESC’.
A tecla ‘ENTER’ é utilizada para pausar o jogo e retornar
de uma pausa.
- Cada fruta
comida deve valer 1 ponto para o jogador. Em caso de passagem para a próxima
fase o jogador ganha 100 pontos extras.
Os
seguintes itens são opcionais:
- níveis
de dificuldade variáveis, com variações em relação
à pontuação e ao número inicial de monstros
e sua velocidade.
O programa deve
ser implementado utilizando-se as seguintes regras de estilo (para maiores
informações, consultar o documento Regras
de estilo para código fonte em linguagem C):
- identação
com tabulação de 3 caracteres (NÃO utilizar espaços
para identar!).
- comentário
para os cabeçalhos de funções, conforme sugerido no
documento acima citado.
- comentários
para declarações de variáveis, estruturas de decisão
e de repetição explicando a sua finalidade e/ou funcionalidade.
- chaves alinhadas
utilizando uma das sugestões do documento acima citado.
- nomes e números
de matrícula dos participantes da equipe em forma de comentário
no início do programa.
Uma
sugestão de interface para o jogo do PacMan é mostrada abaixo.

Baixe aqui
um exemplo de implementação do PacMan utilizando uma interface
semelhante à mostrada acima (obs: não completamente testado, para
relatar bugs por favor enviar um e-mail).