====== Colossal Cave ====== [[https://pt.wikipedia.org/wiki/Colossal_Cave_Adventure|Colossal Cave]] é considerado o precursor dos jogos de aventura. Ele foi criado por Will Crowther em 1976, inspirado nas [[https://en.wikipedia.org/wiki/Mammoth_Cave_National_Park|Mammoth Caves]], no Kentucky, USA. Ele foi ampliado por Don Woods em 1977 e depois portado para vários sistemas operacionais. ===== Descrição do jogo ===== A ideia central do jogo é explorar uma caverna misteriosa que pode conter tesouros. A interação é feita em modo texto, com comandos simples e descrições dos ambientes por onde o jogador passa. O jogador pode se deslocar entre ambientes, coletar itens e interagir com objetos, por exemplo. Um exemplo de diálogo do jogo (a saída do jogo está em maiúsculas; o comando do usuário em minúsculas): YOU ARE STANDING AT THE END OF A ROAD BEFORE A SMALL BRICK BUILDING. AROUND YOU IS A FOREST. A SMALL STREAM FLOWS OUT OF THE BUILDING AND DOWN A GULLY. go south YOU ARE IN A VALLEY IN THE FOREST BESIDE A STREAM TUMBLING ALONG A ROCKY BED. O objetivo final do jogo é atingir a pontuação máxima (350 pontos), o que corresponde a encontrar todos os tesouros e sair da caverna com vida. ===== Atividade ===== * Baixar o jogo para alguma plataforma e experimentá-lo, para entender sua dinâmica. No Linux, o pacote ''bsdgames'' traz o comando ''adventure'', que implementa uma versão desse jogo. * Implementar o jogo em C no Linux. ===== Requisitos ===== * Ler os arquivos do jogo original (em Fortran) contendo as descrições dos diálogos, dos comandos, dos itens e da caverna em si. * Implementar a lógica do jogo o mais fielmente possível * Ser escrito em C padrão (C99 ou similar) * não gerar //warnings// ao usar flags -Wall * o executável deve se chamar mycc (de "//my Colossal Cave//") * Ser estruturado em vários arquivos, separando as funcionalidades * Ter um Makefile: * alvos ''all'', ''clean'' e ''purge'' * compilação e ligação devem ser separadas ===== Material de apoio ===== * código e arquivos de configuração do [[https://github.com/videogamepreservation/colossalcaveadventure|jogo original]] (em Fortran) * [[http://www.wurb.com/if/game/1|Baf's Guide do Colossal Cave]] * [[http://rickadams.org/adventure|The Colossal Cave Adventure page]] * No Linux: instalar package ''bsdgames'', comando ''adventure''