Implemente o nosso protótipo do "Dark Souls", seguindo os slides das aulas sobre Classe abstrata, Polimorfismo e Interface.
- Veja os slides "Classes Abstratas e Polimorfismo":
- Crie a classe Inimigo e seus tipos: ZumbiLerdo, CavaleiroNegro e CavaleiroPrata.
- Crie uma classe Jogador, que recebe um Inimigo e causa dano via o método atacar(). Faça com o que quando um “jogador” ataque seja invocado o método tomarDano() do “inimigo”, retornando uma mensagem: "Jogador atacou o inimigo "+ inimigo.getNome()
- Faça o método tomarDano() diminuir a vida do “inimigo” que foi atacado pelo “jogador”
- Escreva os testes de unidade para todas as classes
- Fazer a classe Principal com o método main é opcional
- Veja os slides "Classes Abstratas (parte 2)":
- Evolua a Etapa 1 de forma que Inimigo seja uma classe abstrata, com o método atacar abstrato
- Implemente as classes: Mago (que utiliza um cajado), Guerreiro (um machado) e Arqueiro (um arco).
- Cada classe que herda Jogador, deve implementar o seu método atacar(), que retorna suas respectivas mensagens
- A classe Jogador e o método atacar() são abstratos
- Crie os testes de unidade para testar todos os métodos das classes
- Fazer a classe Principal com o método main é opcional
Veja os slides "Interface (parte 2)":
- Termine de implementar o nosso protótipo do Dark Souls, evoluindo a Etapa 2
- Considere que Mago, Sacerdote e CavaleiroPrata irão implementar Curavel
- Escreva os testes de unidade para as novas funcionalidades
- Fazer a classe Principal com o método main é opcional
Exemplo de código Java para exercitar Classe Abstrata, Interface e Polimorfismo.
Autor: Phyllipe Lima (UNIFEI)