Jogo da Gloria

17 views
Skip to first unread message

rodrigo neves

unread,
May 17, 2008, 10:35:39 AM5/17/08
to Só Java
Pessoal, estou a iniciar-me em Java, e já tenho um projecto para
fazer, e por isso gostaria de ter alguma ajuda vossa.
O Projecto é o 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

rodrigo neves

unread,
May 17, 2008, 10:58:27 AM5/17/08
to Só Java
Este é o enuciado do Projecto.
Um abraço a todos,
 
Rodrigo Neves

2008/5/17 rodrigo neves <rodrigon...@gmail.com>:
Projecto_POO_2007-2008.pdf
Reply all
Reply to author
Forward
0 new messages