Projeto POO - 2011.2: mudanças entre as edições
Ir para navegação
Ir para pesquisar
Sem resumo de edição |
|||
(4 revisões intermediárias pelo mesmo usuário não estão sendo mostradas) | |||
Linha 1: | Linha 1: | ||
O projeto final da disciplina [[Programação Orientada a Objetos (página)|Programação Orientada a Objetos]] poderá ser desenvolvido em dupla e deverá ser apresentado em sala no dia '''14 de dezembro de 2011'''. | O projeto final da disciplina [[Programação Orientada a Objetos (página)|Programação Orientada a Objetos]] poderá ser desenvolvido em dupla e deverá ser apresentado em sala no dia '''14 de dezembro de 2011'''. | ||
= JavaBomber - Clone do jogo Bomberman= | = JavaBomber - Clone em Java 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). | 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). | ||
Linha 35: | Linha 35: | ||
* 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 | * 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 | * 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 | ** O cenário deverá possuir no mínimo 80% da área com blocos de tijolos e no máximo 90% | ||
* Todos os métodos deverão ser comentados, de acordo com o padrão do [http://pt.wikipedia.org/wiki/Javadoc JavaDOC], e dentro dos métodos é necessário comentar cada parte de seu funcionamento chave | * Todos os métodos deverão ser comentados, de acordo com o padrão do [http://pt.wikipedia.org/wiki/Javadoc 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 [http://pt.wikipedia.org/wiki/GNU_General_Public_License GPL] | * Todo o código estará sob a licença de software livre [http://pt.wikipedia.org/wiki/GNU_General_Public_License GPL] | ||
==Esqueleto do jogo JavaBomber== | ==Esqueleto do jogo JavaBomber== | ||
Linha 47: | Linha 45: | ||
* [[Media:JavaBomber.jar | Pegue aqui o pacote JAR com código compilado]]. Pronto para ser executado. | * [[Media:JavaBomber.jar | Pegue aqui o pacote JAR com código compilado]]. Pronto para ser executado. | ||
Exemplo: java -jar JavaBomber.jar | Exemplo: java -jar JavaBomber.jar | ||
Controles dos jogadores: | |||
Jogador 1: movimento através das setas direcionais e a barra de espaço solta uma bomba | |||
Jogador 2: w (cima), s (baixo), a (esquerda), d (direita) e o número 1 solta uma bomba | |||
==Soluções dos alunos== | ==Soluções dos alunos== | ||
Linha 64: | Linha 66: | ||
|- | |- | ||
| | | Thiago Cunha & Kalebe || [http://pt.wikipedia.org/wiki/GNU_General_Public_License GPL] || | ||
[[Media:Poo-2011-2- | [[Media:Poo-2011-2-thiago-kalebe.zip | Projeto Netbeans]] | ||
|- | |||
| João & Patrícia || [http://pt.wikipedia.org/wiki/GNU_General_Public_License GPL] || | |||
[[Media:Poo-2011-2-joao-patricia.zip | Projeto Netbeans]] | |||
|- | |||
| Maycon & Anderson Felisbino || [http://pt.wikipedia.org/wiki/GNU_General_Public_License GPL] || | |||
[[Media:Poo-2011-2-maycon-andersonfelisbino.zip | Projeto Netbeans]] | |||
|- | |||
| Carlos Maciel || [http://pt.wikipedia.org/wiki/GNU_General_Public_License GPL] || | |||
[[Media:Poo-2011-2-carlosmaciel.zip | Projeto Netbeans]] | |||
|- | |- | ||
| Emerson Gomes & Helton || [http://pt.wikipedia.org/wiki/GNU_General_Public_License GPL] || | |||
[[Media:Poo-2011-2-emersongomes-helton.zip | Projeto Netbeans]] | |||
|- | |||
| Anderson Rosa || [http://pt.wikipedia.org/wiki/GNU_General_Public_License GPL] || | |||
[[Media:Poo-2011-2-andersonrosa.zip | Projeto Netbeans]] | |||
|- | |||
| Rafael Silva & Renato || [http://pt.wikipedia.org/wiki/GNU_General_Public_License GPL] || | |||
[[Media:Poo-2011-2rafael_silva-renato.zip | Projeto Netbeans]] | |||
|- | |||
|} | |} |
Edição atual tal como às 16h53min de 25 de junho de 2012
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 em Java 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 80% da área com blocos de tijolos e no máximo 90%
- 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
Controles dos jogadores: Jogador 1: movimento através das setas direcionais e a barra de espaço solta uma bomba Jogador 2: w (cima), s (baixo), a (esquerda), d (direita) e o número 1 solta uma bomba
1.4 Soluções dos alunos
Grupo | Licença | Código Fonte
|
---|---|---|
Thiago Cunha & Kalebe | GPL | |
João & Patrícia | GPL | |
Maycon & Anderson Felisbino | GPL | |
Carlos Maciel | GPL | |
Emerson Gomes & Helton | GPL | |
Anderson Rosa | GPL | |
Rafael Silva & Renato | GPL |