rasteiras Posted April 19, 2012 at 04:14 PM Report #450007 Posted April 19, 2012 at 04:14 PM 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,
pmg Posted April 19, 2012 at 04:20 PM Report #450009 Posted April 19, 2012 at 04:20 PM 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!
softklin Posted April 19, 2012 at 04:48 PM Report #450012 Posted April 19, 2012 at 04:48 PM 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.
Baderous Posted April 19, 2012 at 04:55 PM Report #450014 Posted April 19, 2012 at 04:55 PM Define "dar uma mãozinha".
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now