Baixe o app para aproveitar ainda mais
Prévia do material em texto
Trabalho de Programação Orientada a Objetos 16/05/2013 Prof. Ivan Mathias Filho Introdução O objetivo deste trabalho é construir um programa que permita que duas pessoas joguem Batalha Naval. Descrição 1. Interface Gráfica A interface gráfica do jogo deverá usar elementos de Java Swing e Java2D. Os tabuleiros onde serão inseridas as embarcações, por exemplo, deverão ser construídos, obrigatoriamente, através de objetos como Rectangle2D.Double e de métodos como fill(), draw() e drawstring(), encontrados na api Java 2D. Use a figura abaixo como referência para a construção do seu tabuleiro: O posicionamento das armas no tabuleiro deverá ser feito usando-se dois frames: o primeiro contendo os tabuleiros, como foi descrito acima, e o segundo contendo a relação das armas existentes (submarinos, aviões e etc.). O mecanismo de posicionamento, entretanto, ficará a cargo de cada aluno. Será necessários apenas permitir que as armas possam ser alinhadas nas direções norte-sul ou leste-oeste. Além disso, o “triângulo” correspondente a um hidroavião poderá “apontar” para qualquer um dos pontos cardeais. O resultado de cada jogada deverá ser informado através de um JLabel. Use cores diferentes das usadas no resto do painel para que as mensagens sejam destacadas. Não use caixas de diálogos para informar os resultados, pois isso irá atrapalhar o andamento do jogo. Após um jogador terminar a sua jogada, o programa deverá informar que o outro jogador irá assumir o controle do jogo. Use um componente gráfico, como um JButton, para que o jogador peça ao programa que mostre a sua visão do jogo, após um dos jogadores ter deixado o controle. Entretanto, esconda a tabuleiro do jogador que acabou de ceder o controle do jogo. Quando um jogador afundar todas as armas do adversário, abra uma Dialog Box informando que ele venceu a partida, limpe os tabuleiros, mas não feche o programa. Permita que uma nova partida possa ser iniciada sem que o programa tenha que ser encerrado. 2. Regras do Jogo O seu programa deverá implementar todas a regras apresentadas em http://zamorim.com/jogos/papel/batalha-naval-regras.html . O Processo de Desenvolvimento O trabalho em questão deverá ser desenvolvido utilizando a linguagem Java e a última versão da ferramenta Eclipse. Eu não examinarei os trabalhos desenvolvidos com outras ferramentas. Além disso, será levada em consideração a aplicação correta das técnicas de programação vistas durante o curso. Isso inclui a organização do aplicativo em pacotes. Artefatos a Serem Entregues Nos dias das entregas o aluno deverá enviar, para o e-mail do professor (ivan@inf.puc- rio.br ou ivan.mathias.filho@gmail.com), um arquivo .zip (ou .jar) contendo o seu trabalho O nome do arquivo deverá ser a matrícula do aluno na PUC. Por exemplo, 1222345zip. Além disso, o nome do projeto TEM QUE SER a matrícula do aluno. O projeto deverá ser exportado para o arquivo zip como mostra a figura a seguir: Entregas do Trabalho O cronograma de entregas será o seguinte: 28/05/2013 – Exibição dos tabuleiros, tratamento e identificação (definição das coordenadas da casa clicada) do clique do mouse e alternância dos tabuleiros dos dois jogadores. (MARCO 1). 11/06/2013 – Posicionamento no tabuleiro das armas de ambos os jogadores (MARCO 2). 25/06/2013 – Realização das jogadas, com a marcação dos tiros, a identificação das partes afundadas e dos tiros que caíram na água. (MARCO 3). 30/06/2013 – Entrega da versão final. 02/07/2013 e 04/06/2013 – Apresentação do trabalho completo. A não entrega das funcionalidades dos Marcos 1, 2 ou 3 nas datas previstas acarretará na perda de 2,5 pontos (cada marco) na nota final do trabalho, independente da qualidade da versão final. Funcionalidades que estiverem muito aquém do que foi estabelecido para os marcos não serão consideradas. A não entrega da versão final na data prevista acarretará em grau ZERO para o G2. Para efeito de entrega, o horário limite será às 23h59min do dia da entrega. Apresentação do Trabalho O trabalho deverá ser apresentado em sala nos dias 02/07 e 04/07/2013. O não comparecimento à apresentação acarretará na atribuição da nota ZERO ao aluno faltante. Regras Adicionais O trabalho é individual. Trabalhos feitos por mais de um aluno serão desconsiderados e TODOS receberão grau ZERO. É proibido o compartilhamento de código entre os alunos. Caso fique evidente que um aluno copiou parte do código de outro trabalho, todos os alunos envolvidos receberão grau ZERO. Posteriormente o caso será levado ao Conselho Disciplinar do CTC.
Compartilhar