Skip to content

UFABC-OO/darksouls

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dark Souls

Implemente o nosso protótipo do "Dark Souls", seguindo os slides das aulas sobre Classe abstrata, Polimorfismo e Interface.

Etapa 1

  • Veja os slides "Classes Abstratas e Polimorfismo":
  1. Crie a classe Inimigo e seus tipos: ZumbiLerdo, CavaleiroNegro e CavaleiroPrata.
  2. 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()
  3. Faça o método tomarDano() diminuir a vida do “inimigo” que foi atacado pelo “jogador”
  4. Escreva os testes de unidade para todas as classes
  5. Fazer a classe Principal com o método main é opcional

Etapa 2

  • Veja os slides "Classes Abstratas (parte 2)":
  1. Evolua a Etapa 1 de forma que Inimigo seja uma classe abstrata, com o método atacar abstrato
  2. Implemente as classes: Mago (que utiliza um cajado), Guerreiro (um machado) e Arqueiro (um arco).
  3. Cada classe que herda Jogador, deve implementar o seu método atacar(), que retorna suas respectivas mensagens
  4. A classe Jogador e o método atacar() são abstratos
  5. Crie os testes de unidade para testar todos os métodos das classes
  6. Fazer a classe Principal com o método main é opcional

Etapa 3

Veja os slides "Interface (parte 2)":

  1. Termine de implementar o nosso protótipo do Dark Souls, evoluindo a Etapa 2
  2. Considere que Mago, Sacerdote e CavaleiroPrata irão implementar Curavel
  3. Escreva os testes de unidade para as novas funcionalidades
  4. 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)

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages