Projeto POO - 2011.2
O projeto final da disciplina Programação Orientada a Objetos poderá ser desenvolvido em dupla e deverá ser apresentado em sala no dia 14 de dezembro de 2011.
1 JavaBomber - Clone do jogo Bomberman
Desenvolver um jogo em Java usando somente as APIs do Java 2D. O jogo requer 2 jogadores humanos, cada qual controlando seus respectivos personagens (JavaBomberman).
- Cada personagem possui comandos para mudar sua direção (ex: cima, baixo, esquerda, direita) e ainda para lançar bomba
- O cenário é composto por blocos de tijolos, que podem ser explodidos, e blocos de metal, que não podem ser explodidos, além de blocos vazios, por onde o personagem pode se deslocar
- Na situação inicial do jogo
- Cada personagem só poderá lançar uma bomba por vez. Assim que a bomba explodir, este personagem poderá lançar outra bomba assim que desejar
- A bomba lança uma onda de choque para as quatro casas adjacentes à casa onde está situada a bomba, além da sua própria casa
- Cada jogador possui 3 vidas, assim que um dos jogadores ficar com 0 vidas, o outro é declarado vencedor
- Um jogador perde uma vida sempre que estiver no alcance da onda de choque de uma bomba, não importando qual jogador a lançou
- Um jogador pode passar pela casa que tenha uma bomba lançada por ele mesmo, mas não poderá passar por uma casa que contenha uma bomba lançada pelo adversário
1.1 Requisitos do jogo
- Blocos de tijolos que forem explodidos poderão deixar poderes, os quais ficarão visíveis na tela até que um jogador passe por cima destes
- Os poderes são classificados como bons ou ruins
- Bons
- Aumento da onda de choque - Faz com que a distância da onda de choque da bomba do jogador aumente 1 casa
- Aumento no número de bombas simultâneas de um jogador - O total de bombas de um jogador será acrescido em 1
- Ruins
- Diminuição da onda de choque
- Diminuição do número de bombas simultâneas de um jogador
- Bons
1.2 Requisitos de programação
- Todas imagens usadas no jogo deverão ter obrigatoriamente a dimensão de 40x40 pixels
- Ao término de cada rodada deverá solicitar ao usuário se ele deseja jogar mais uma partida
- Cada jogador possuirá um painel com informações a respeito do número de vidas que ainda resta e o total de partidas que este ganhou
- Na tela de configuração cada jogador poderá indicar quais teclas serão usadas para controlar o personagem. O sistema não deve permitir que os dois jogadores tenham uma mesma tecla em comum selecionada
- Todos os elementos gráficos do jogo deverão possuir classes específicas, as quais poderão ser subclasses da classe Elemento
- O jogo deverá possuir uma tecla que permita dar um pause no jogo e a mesma pode ser usada para iniciar novamente o jogo
- Os poderes serão colocados de forma aleatório nos blocos com tijolos, sendo que a cada rodada será sorteado um número máximo de poderes que poderá aparecer
- A cada nova rodada o cenário deverá ser montado de forma aleatória (número de blocos de tijolos e a disposição dos mesmos). O total de blocos de metal deve ser fixo, como apresentado no Esqueleto do projeto, disponibilizado pelo professor
- O cenário deverá possuir no mínimo 60% da área com blocos de tijolos
- 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
1.3 Esqueleto do jogo JavaBomber
- Pegue aqui o código fonte com o esqueleto funcional (projeto Netbeans)
- Pegue aqui o pacote JAR com código compilado. Pronto para ser executado.
Exemplo: java -jar JavaBomber.jar
1.4 Soluções dos alunos
Grupo | Licença | Código Fonte
|
---|---|---|
Grupo 1 | GPL |