Semestre passado, na cadeira de algoritmos e programação (INF01202), disciplina na qual se aprende o básico sobre programar na linguagem C, desenvolvemos como trabalho final um jogo, baseado no clássico Mr. Do!. Você pode jogar o original no Lets Play SNES - Mr Do!.
O objetivo era implementar a maior quantidade de recursos possíveis, utilizando uma matriz de caracteres para representar os componentes do jogo e manipulando esses caracteres. Por exemplo, o personagem poderia ser a letra M. Ao detectar que a tecla "w" foi pressionada, a letra M era movida uma linha para cima. O jogo detecta colisões com fantasmas e com frutas. Como aprendemos manipulação de arquivos, as pontuações mais altas são salvas, e os níveis são carregados de um arquivo txt.
O código está meio desorganizado, mas dá para ter uma ideia de como é relativamente fácil programar um jogo simples, que parece "vivo". É muito legal ver os fantasmas correndo pela tela, tudo em tempo real.
A inteligência dos fantasmas está completamente aleatória, mas alguns colegas chegaram a implementar métodos mais inteligentes, na qual os fantasmas seguem o jogador, estilo Pac-Man.
O jogo foi feito para Windows, pois utiliza de alguns métodos disponíveis somente neste ambiente.
O código completo do jogo está disponível no Github, você pode baixá-lo e editá-lo a vontade: Mr_do Github. É necessário ter o arquivo fase1.txt na mesma pasta do executável.
Atualização:
Sobre a inteligência dos fantasmas, recomendo o vídeo How Pac-Man’s Ghosts Think & Hunt. Ele explica sobre a complexidade e personalidade de cada um dos fantasmas do Pac-Man. Cada um possui um algoritmo diferente para perseguir o jogador. É muito interessante! Implementar esses algoritmos não é nada fácil, alguns colegas gastaram mais de 500 linhas para versões simplificadas.
Atualização:
Sobre a inteligência dos fantasmas, recomendo o vídeo How Pac-Man’s Ghosts Think & Hunt. Ele explica sobre a complexidade e personalidade de cada um dos fantasmas do Pac-Man. Cada um possui um algoritmo diferente para perseguir o jogador. É muito interessante! Implementar esses algoritmos não é nada fácil, alguns colegas gastaram mais de 500 linhas para versões simplificadas.