Projeto POO - 2013.2
O projeto final da disciplina Programação Orientada a Objetos poderá ser desenvolvido em dupla e deverá ser apresentado em sala no dia 16 de dezembro de 2013.
Javamon - Clone do Jogo Pokemon
Desenvolver um jogo em Java usando somente as APIs do Java 2D. O jogo requer 2 jogadores interagindo através da rede de computadores. Trata-se de uma batalha por rodada. A cada rodada cada jogador escolhe a ação desejada para seu pokemon e o vencedor da rodada dependerá da análise dos golpes, movimentos, etc que foram executados por cada pokemon.
Regras do jogo
- O jogo deverá oferecer 10 tipos de pokemons
- Cada jogador deverá ter 6 pokemons, escolhidos dentre os 10 possíveis
- O jogo termina quando todos os pokemons de um jogador forem derrotados
- Um jogador poderá escolher um pokemon por vez para participar de uma batalha. Quando um pokemon é derrotado, o jogador poderá escolher outro para colocar em seu lugar, desde que ainda tenha pokemons disponíveis.
- Cada pokemon possui 4 golpes de luta (2 fracos e 2 fortes), sendo que cada golpe possui o dano que causa e a probabilidade de acerto.
- Golpes fortes possuem uma probabilidade menor de acerto (40%)
- Envenenamento - Faz com que o adversário perca 10% de sua vida ao final da rodada em que foi usada. A cada nova rodada este valor é incrementado em 50%
- Queimadura - Faz com que o adversário perca 10% de sua vida ao final de cada rodada e reduz em 50% o poder de seus golpes de luta e golpes com itens especiais
- Golpes fracos possuem uma probabilidade maior de acerto (80%)
- Paralisia - Faz com que o adversário tenha sua velocidade de ataque reduzida em 50%
- Dormindo - Faz com que o adversário fique dormindo, ou seja, sem a possibilidade de atacar durante a rodada
- Golpes fortes possuem uma probabilidade menor de acerto (40%)
- Cada pokemon possui um único item especial e que só pode ser usado uma única vez durante a batalha
- Recuperar vida - Faz com que o nível de vida fique novamente cheio
- Curar - Remove o efeito de um golpe que tenha sido aplicado anteriormente
- Todo pokemon possui um nível de vida que inicia no nível máximo que é 100
- Todo pokemon possui um nível de ataque, que vai de 0 a 50 e que deve ser inversamente proporcional ao seu nível de defesa, que também vai de 0 a 50. Ou seja, quanto maior o nível de ataque, menor será o nível de defesa
- Todo pokemon possui um nível de velocidade, que durante o início de uma rodada determina quem irá atacar primeiro. Este nível é de 1 a 5
- Se o nível de velocidade for o mesmo para os dois pokemons em uma batalha, então é feito um sorteio para determinar quem inicia primeiro
Lista dos pokemons
Tipo | Pokemon | Ataque | Defesa | Velocidade | Vantagens | Desvantagens |
---|---|---|---|---|---|---|
Fogo | Ponyta | 37 | 24 | 39 | Gelo/Inseto | Água/Terrestre |
Gelo | Shellder | 32 | 49 | 19 | ||
Planta | ||||||
Água | ||||||
Pedra | ||||||
Voador | ||||||
Inseto | ||||||
Terrestre | ||||||
Elétrico | ||||||
Lutador |
Requisitos do jogo
- Todo pokemon deverá possui 2 imagens para sua representação gráfica. Uma imagem para quando este estiver de frente e outra quando este estiver de costas.
- Todas imagens deverão ter obrigatoriamente a dimensão de 80x80 pixels
- Ao término do jogo, ou seja, quando um jogador teve todos seus pokemons derrotados, deve-se perguntar aos jogadores se desejam iniciar uma nova partida
- Todos os métodos deverão ser comentados, de acordo com o padrão do JavaDOC, e dentro dos métodos é necessário comentar cada parte de seu funcionamento chave
- Todo o código estará sob a licença de software livre GPL
Soluções dos alunos
Grupo | Licença | Código Fonte
|
---|