rodrigo neves
unread,May 17, 2008, 10:35:39 AM5/17/08Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
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