Mudanças entre as edições de "Projeto POO - 2011.2"
Ir para navegação
Ir para pesquisar
(3 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] | ||
Linha 45: | 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 62: | 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.
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
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
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
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
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 |