Jump to content

Recommended Posts

Posted

Boa tarde a todos.

Estou-me a iniciar em programação Java e gostaria que me dessem uma mãozinha no meu trabalho.

Então o trabalho consiste no seguinte:

1. Introdução

O objectivo deste projecto é a criação de um programa que implementa uma variante do Jogo da

Glória. A aplicação criada irá aplicar os conceitos de P.O.O utilizando a linguagem JAVA.

O projecto será desenvolvido em duas fases. Na primeira fase será feita a análise e o desenho da

aplicação devendo ser entregue o respectivo diagrama de classes em UML, assim como a

implementação parcial de 3 classes. Na segunda fase será feita a aplicação utilizando a linguagem Java

e serão entregues os manuais de utilizador e técnico e o código fonte.

2. Descrição

Pretende-se desenvolver uma aplicação que permite ao utilizador jogar o JOGO GLORI que é uma

variante do Jogo da Glória. Este Jogo pode ser jogado em dois modos: singulares ou pares. No modo

singulares poderão participar entre 2 e 4 jogadores, enquanto que no modo pares terão que participar

necessariamente 4 jogadores. O jogo deve ser implementado de acordo com as regras descritas de

seguida.

Regras do Jogo GLORI

O Jogo utiliza um tabuleiro com 36 casas, como ilustrado na figura 1, um dado e 4 peões (um azul,

um verde, um vermelho e um amarelo).

FIM 35 34 33 32 31

25 26 27 28 29 30

24 23 22 21 20 19

13 14 15 16 17 18

12 11 10 9 8 7

INICIO 2 3 4 5 6

Figura 1 - Tabuleiro do jogo GLORI

Modo Singulares (2-4 jogadores):

1. O Jogo inicia-se com a atribuição de um peão (vermelho, azul, amarelo ou verde) a cada um

dos jogadores. Podem jogar entre 2 e 4 jogadores.

2. Para determinar a ordem de jogada cada jogador lança o dado, e os jogadores são ordenados

por ordem decrescente dos valores obtidos. Em caso de empate volta-se a lançar os dados

entre os empatados.

3. Todos os peões são colocados na casa 1.

4. Cada jogador, pela sua ordem de jogada, lança o dado e avança o número de casas equivalente

aos pontos obtidos. Se chegar a uma casa branca, fica a aguardar pela próxima jogada, senão

executa a acção determinada pelo tipo de casa:

? Roxa ? coloca o seu peão na casa roxa imediatamente anterior.

? Castanha ? coloca o seu peão na casa castanha imediatamente a seguir.

? Rosa ? volta para o ponto de partida.

? Amarela, Azul, Verde, Vermelha - Se a casa for da mesma cor que o seu peão, volta a

jogar, se a casa for da cor do peão de um dos seus adversários perde uma jogada.

5. Ganha o jogador que primeiro chegar à casa nº 36. Para chegar a esta casa, na última jogada

tem que sair o número certo (por exemplo, se estiver na casa 34, se sair 2 ganha, se sair 3 ou

mais fica no mesmo sítio).

6. Os pontos atribuídos aos jogadores regem-se pelo seguinte quadro:

nºjogadores

ordem

2 3 4

1º 1 2 3

2º 0 1 2

3º - 0 1

4º - - 0

Modo Pares (4 jogadores):

1. No modo pares, jogam obrigatoriamente 4 jogadores, agrupados em 2 pares.

2. O Jogo inicia-se com a atribuição de um peão (vermelho, azul, amarelo ou verde) a cada um

dos jogadores.

3. Para determinar a ordem de jogada de cada par, cada jogador lança o dado, e os pares são

ordenados por ordem decrescente do total de pontos obtidos pelo par. Em caso de empate

volta-se a lançar os dados.

4. Todos os peões são colocados na casa 1.

5. Os pares jogam alternadamente, joga primeiro o primeiro jogador do par 1, depois o segundo

jogador do par 1 e em seguida os jogadores do par 2. Cada jogador, pela sua ordem de jogada,

lança o dado e avança o número de casas equivalente aos pontos obtidos. Se chegar a uma

casa branca, fica a aguardar pela próxima jogada, senão executa a acção determinada pelo tipo

de casa:

? Roxa ? coloca o seu peão na casa roxa imediatamente anterior.

? Castanha ? coloca o seu peão na casa castanha imediatamente a seguir.

? Rosa ? volta para o ponto de partida.

? Amarela, Azul, Verde, Vermelha - Se calhar numa casa da mesma cor que um dos

peões do seu par, volta a jogar, se calhar numa casa da cor de um dos peões do par

adversário perde uma jogada.

6. Ganha o primeiro par a conseguir chegar ao fim com os seus dois peões.

7. Os pontos atribuídos aos jogadores são:

Ordem Pontos

1º 2

2º 0

Funcionalidades gerais da aplicação:

? Registar novos jogadores e manter informação sobre a pontuação acumulada dos jogadores.

? Seleccionar o modo do jogo pretendido e os jogadores a jogar uma determinada partida.

? Listar os jogadores por ordem de pontuação.

? Guardar a informação sobre os jogadores num ficheiro.

? Consultar no fim do JOGO os seguintes indicadores sobre o mesmo:

o Número médio de Jogadas por Jogador (nº total de jogadas / nº Jogadores).

o Velocidade média de cada jogador (nº de casas percorridas/nº jogadas desse jogador).

3. Implementação

Regras Gerais

? A aplicação tem que ser implementada em JAVA.

o Poderá optar por implementar a interface com o utilizador em modo gráfico

(preferencialmente), ou em modo consola. Caso opte pelo modo gráfico, deverá

utilizar as bibliotecas do swing do JAVA.

? A aplicação deverá ter uma arquitectura em duas camadas, ou seja, as classes que

implementam a lógica do JOGO deverão ser independentes da interface com o utilizador. Para

isso deverá definir dois packages:

o jogoGlori.ui - contem as classes referentes à implementação da interface com o

utilizador.

? jogoGlori.application - contem as classes referentes à implementação das classes respeitantes

à lógica do jogo e não deve conter nenhuma instrução de escrita para o ecrã, ou entrada de

dados.Em relação ao código produzido, é obrigatório seguir as convenções de codificação

estabelecidas para a linguagem JAVA. Serão penalizados os desvios às regras de codificação,

sendo de salientar os seguintes aspectos:

o Nomes de classes, objectos, variáveis, atributos e métodos pouco sugestivos;

o Paragrafação/indentação incorrecta;

o Falta de comentários, quando necessário.

Recomendações e Sugestões

? Devem utilizar as potencialidades do paradigma de programação orientado a objectos,

nomeadamente os conceitos de: herança, polimorfismo, e interfaces.

? Devem utilizar a classe ArrayList em substituição do array quando tal for mais adequado.

? Sugere-se que o tabuleiro seja implementado graficamente recorrendo a objectos da Classe

JLabel. Sugere-se que especifiquem uma classe derivada da classe JLabel para implementar

cada uma das casas do tabuleiro.

4. Entrega do projecto

? Os projectos são realizados por grupos de dois alunos, no máximo.

? A entrega do projecto deverá ser feita via electrónica, utilizando a plataforma moodle

através do envio de um só ficheiro compactado.

? Uma cópia impressa e devidamente encadernada deverá também ser entregue em mão ao

respectivo professor de laboratório. Todos os materiais entregues deverão: estar devidamente

identificados com o nome do professor de laboratório, curso, nome, número e turma dos

autores do projecto. Caso seja possível, deverá ser fornecido o e-mail dos autores.

O projecto será realizado em duas fases:

o Data entrega 1ª Fase: 19/5/2007

Deverá ser entregue:

? Um relatório com o diagrama de classes, com a descrição e justificação das

classes criadas, incluindo atributos, métodos e relações entre as classes.

? A implementação parcial das classes: Casa, Tabuleiro, Jogador. Neste

caso poderá apenas deixar alguns métodos sem código escrito.

o Data entrega 2ª Fase: 18/6/2007.

A entrega do trabalho deverá incluir:

O programa (código fonte e aplicação compilada pronta a testar).

Manual de Utilizador:

? Descrição da instalação da aplicação.

? Descrição das regras do jogo.

? Descrição dos menus.

? Exemplo de utilização.

? Descrição dos ficheiros de dados (caso existam).

? Lista das Mensagens de Erros existentes.

Manual Técnico:

? Descrição completa da estrutura do programa.

? Deverá conter o diagrama de classes final, com a descrição e

justificação das alterações efectuadas ao diagrama e ao código

apresentado na 1ª fase.

Código do Programa.

5. Avaliação

o A entrega do projecto depois do prazo estipulado implica a penalização de um valor

por dia de atraso até um máximo de cinco valores. Depois disso o projecto não será

aceite.

o A classificação do programa terá em conta a qualidade da programação (factores de

qualidade do software), a estrutura do código criado segundo os princípios da

programação orientada por objectos e a utilização/conhecimento da linguagem

JAVA.

o Serão premiadas a facilidade de utilização, a apresentação, a imaginação e a

criatividade.

o O projecto terá uma componente de avaliação oral obrigatória com classificação

individual dos elementos do grupo. Chama-se a atenção para projectos semelhantes,

ainda que diferentes, que serão classificados com zero.

o As discussões dos trabalhos dos projectos não incidirão apenas sobre o programa

apresentado. Pretende-se, sobretudo, apurar a capacidade do aluno de produzir o tipo

de código que apresentou no projecto. Caso seja detectada uma inconsistência neste

aspecto, a nota atribuída será necessariamente zero.

o A falta à discussão ou o atraso injustificado levam à atribuição de zero valores como

nota final.

o A discussão é realizada pelo respectivo professor de laboratório e irá ser feita uma

marcação prévia para cada grupo de trabalho.

o O peso de cada item do projecto para a avaliação global é apresentado na tabela

seguinte.

Um abraço a todos,

Posted

o Data entrega 1ª Fase: 19/5/2007

o Data entrega 2ª Fase: 18/6/2007.

Epá ... corre ... 🙂

What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Posted

Independentemente de ser para a escola/faculdade ou não, vais ter de colocar dúvidas concretas sobre problemas que tenhas no enunciado, porque ninguém tem tempo para fazer por ti um trabalho dessas dimensões.

Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.