Jogo Batalha Naval em c++
Laboratório (TIC +INF) II
2014/2015
João Barroso, José Bulas Cruz
Mini Projeto Batalha Naval – Parte II
Para a 2ª parte do projeto deve implementar as duas classes apresentadas utilizando os protótipos aqui transcritos. Devem também implementar uma versão do jogo “Demo” apenas com barcos de um cano e com possibilidade de testar os tiros.
Sempre que necessitar poderá acrescentar outros membros ainda não existentes às classes.
Após a implementação das classes “jogador” e “navio” já será possível implementar a jogabilidade tendo em atenção que apenas existirão navios de 1 cano (submarinos).
Nos atributos das classes pode utilizar apontadores para fazer alocação dinâmica, em vez da alocação estática apresentada na especificação das classes seguintes.
Após estar finalizada e devidamente testada a versão “Demo” do jogo deve implementar uma versão final “Full_game” que contenha barcos com mais que um cano.
Para gravar o jogo deve utilizar o seguinte formato:
Jogador, Nome do jogador 1, pontuação, navio ‘n’, número de canos do navio, posições dos canos do navio, tiros ‘t’, número de tiros, lista das posições dos tiros,
Jogador, Nome do jogador 2, pontuação, navio ‘n’, número de canos do navio, posições dos canos do navio, tiros ‘t’, número de tiros, lista das posições dos tiros,
EXEMPLO:
J,Joao, 50, n,1,(A,2), n,1,(F,5), t,4, (D,2), (F,5), (E,3), (A,5),
J,Daniel, 49, n,1,(D,2), n,1,(F,7), t,4, (F,7), (F,5), (A,5), (E,1),
1
UTAD – ECT - DE
Laboratório (TIC +INF) II
2014/2015
João Barroso, José Bulas Cruz
class Navio
{
private:
PontoNaval
pos[1];
bool afundado[1];
// tantos quanto o nº de canos
// partes do navio afundadas, tantas quanto o nº de canos
public:
Navio();
Navio(int m_n_canos); virtual ~Navio();
virtual void Set_Afundado(); virtual bool If_Afundado() {return afundado [0];} virtual bool Add_Pos(PontoNaval m_P);
virtual PontoNaval Get_Pos() const; virtual PontoNaval