Inclusão circular - Programação orientada a objetos (c++)
2014/2015
Trabalho prático
1.
Descrição geral do problema
Descrição inicial muito rápida
Pretende-se implementar um jogo constituído por elementos num mapa tipo quadriculado.
Existem vários tipos de elementos, e cada tipo tem características e comportamentos próprios.
Alguns elementos são fixos e nunca mudam de posição. Outros são móveis e mudam de posição no mapa com o passar do tempo. Alguns elementos são controlados pelo utilizador
(jogador), outros são controlados pelo computador (fazem coisas aleatórias). O utilizador indica ao programa o que deseja que os seus elementos façam escrevendo comandos no teclado.
Também é possível ler os comandos de um ficheiro de texto. O mapa é representado no ecrã.
Cada posição no mapa ocupa mais do que um caracter. Não se consegue ver o mapa todo ao mesmo tempo, por isso vê-se apenas uma parte e pode-se mudar a parte que se pretende ver.
O trabalho é essencialmente o que foi descrito acima. O resto deste documento descreve os detalhes.
Existem vários detalhes, e pretende-se dar uma descrição que cubra todos os aspectos possíveis para evitar ao máximo as dúvidas, sendo a descrição necessariamente alongada. Havendo muitos detalhes, se alguns não forem implementados, os restantes (os que são implementados) deverão ainda assegurar uma nota razoável.
Descrição completa do trabalho
Pretende-se implementar uma aplicação que permita ao utilizador jogar um jogo que faz lembrar vagamente a
versão
1
(que
faz
agora
20
anos)
do
Warcraft®
(exemplo
disponível
em
www.classicdosgames.com/online/war1demo.html). Este jogo simula a luta entre populações inimigas
(no jogo original: humanos e orcs, mas aqui só vai haver humanos) pelo domínio de território e de recursos. O cenário é um reino medieval anónimo, onde as várias populações (ou povoações) vivem harmoniosamente, pelo menos até encontrarem uma população inimiga. Seguem-se alguns