jplgarcia / INF1337-Programacao-Orientada-a-Objetos

Batalha Naval, trabalho de Programação orientada a objeto na PUC-Rio. Professor: Ivan Mathias Filho

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

INF1337-POO

##Batalha Naval
Programação orientada a objeto, PUC-Rio
Puc rio, teste de Software
Professor Ivan Mathias Filho

Grupo:
João Pedro Garcia
Tatiana Magdalena

###Grau: 10.0/10.0

##Carregando a aplicação:

O projeto deve ser aberto no Eclipse (versão de desenvolvimento: Neon.1a Release (4.6.1)).
A função main está localizada no arquivo BatalhaNaval.java, dentro do pacote utils.

##Iniciando um novo jogo:

###1) Tela inicial

Nomes default de “Jogador 1” e “Jogador 2” são apresentados.
Insira o nome dos dois jogadores.
Clique em começar para ir para a tela de posicionamento de armas.

###2) Tela de posicionamento de armas

Para girar uma peça, clique com o botão direito do mouse sobre ela ainda na lista de armas não posicionadas.
Para selecionar uma peça, clique com o botão esquerdo do mouse sobre ela.
Para posicionar uma peça selecionada, clique sobre o tabuleiro à direita. A coordenada clicada será a coordenada inicial da peça.
Caso deseje desistir de uma peça que está selecionada, aperte a tecla ESC.
Caso deseje desistir do posicionamento de uma peça já no tabuleiro, clique com o botão direito sobre ela e ela retornará para a lista de armas não posicionadas.
O botão de “Pronto!” será habilitado somente quando todas as peças estiverem posicionadas para aquele jogador.
Caso seja o primeiro jogador, o botão de “Pronto!” levará para a tela de posicionamento do segundo jogador.
Caso seja o segundo jogador, o botão de “Pronto!” levará para a tela de batalha, já preparada para o início do ataque do primeiro jogador.

###3) Tela de batalha

Dois tabuleiros são apresentados.
Tabuleiro do Jogador:
À esquerda, apresenta os tiros que o jogador ativo já levou (cor vermelha indica tiro certo e cor azul escuro indica tiro na água). Ao passar o mouse por cima do tabuleiro, apresenta o posicionamento de suas próprias armas.
Tabuleiro de Ataque:
À direita, apresenta os tiros que o jogador ativo já fez no jogador adversário (cor vermelha indica tiro certo e cor azul escuro indica tiro na água).

A cada rodada um jogador deve dar 3 tiros, que consiste em clicar com o botão esquerdo do mouse na coordenada desejada do tabuleiro de ataque. Dois resultados possíveis são esperados:
Tiro na água: a cor azul escuro indica o tiro realizado, e a mensagem “Atingiu água” é apresentada. A contagem de tiros restantes do jogador diminui de 1.
Tiro certo: a cor vermelha indica o tiro realizado, e a mensagem de qual embarcação atingiu e a quantidade de quadrados já atingidos desta embarcação é apresentada. Caso toda a embarcação já tenha sido atingida, a mensagem passa a ser de que “Afundou" tal embarcação. A contagem de tiros restantes do jogador diminui de 1.

Quando os tiros restantes chegam a 0, o botão de “Próximo Jogador!” é habilitado, e a vez deverá ser passada.

###4) Fim de jogo:

O jogo acaba quando um dos jogadores afunda todas as embarcações do adversário.
Uma mensagem é exibida em uma caixa de dialogo informando quem foi o ganhador.
Ao clicar em “Ok”, fecha-se o jogo atual, retornando à tela inicial, permitindo o recomeço de um novo jogo ou a recarga de um jogo existente.

##Salvando um jogo

É possível salvar um jogo em andamento a partir de Tela de Batalha.
A opção de salvar está na barra de menu, no menu Arquivo > Salvar.
Uma janela abrirá para que se escolha onde deseja salvar (não colocar a extensão do arquivo, apenas o nome).

##Carregando um jogo existente

É possível carregar um jogo existente até o momento que o primeiro jogador posiciona a primeira arma na Tela de Posicionamento.
A opção de recarga está na barra de menu, no menu Arquivo > Abrir.
Uma janela abrirá para que se escolha o arquivo que deseja abrir.

About

Batalha Naval, trabalho de Programação orientada a objeto na PUC-Rio. Professor: Ivan Mathias Filho


Languages

Language:Java 100.0%