- [A morte do Dwarf] (#a-morte-do-dwarf)
- [Sem vida negativa] (#sem-vida-negativa)
- [Novos campos] (#novos-campos)
- [Calendário de Tolkien] (#calendário-de-tolkien)
- [Número da sorte] (#número-da-sorte)
- [A vida do Dwarf depende de sua sorte!] (#a-vida-do-dwarf-depende-de-sua-sorte)
Quando um Dwarf tem 0 de vida, seu status é MORTO.
Agora que já conseguimos saber quando um Dwarf
está MORTO, temos que evitar que ele fique devendo vidas! (Vida não pode ser negativa).
Adicione nome e experiência à classe Dwarf
. Crie um construtor que recebe nome
.
Crie um objeto DataTerceiraEra
com 3 campos: dia, mês e ano. Todos campos são inteiros. Faça os métodos getters
apenas.
Adicione um construtor à classe DataTerceiraEra
com os 3 campos existentes no objeto.
Adicione um método ehBissexto()
no objeto DataTerceiraEra
que retorna true
caso o ano da data seja bissexto, false
caso contrário.
Adicione um campo dataNascimento
do tipo DataTerceiraEra
na classe Dwarf
.
Adicione um construtor à classe Dwarf
que receba além do nome, um OBJETO do tipo DataTerceiraEra
e o atribua ao campo dataNascimento
. Faça as alterações necessárias para não quebrar os demais construtores e utilize como valor padrão para o objeto dataNascimento
uma data com os valores 1/1/1
(dia/mês/ano).
Escreva um método getNumeroSorte
no objeto Dwarf
que retorne um valor do tipo double
seguindo as regras abaixo:
- O valor inicial a ser retornado pelo método é
101.0
. - Se o campo
dataNascimento
do objetoDwarf
for bissexto e a vida doDwarf
estiver entre 80 e 90 (incluindo 80 e 90), multiplique o número a ser retornado por-33
- Se o campo
dataNascimento
do objetoDwarf
não for bissexto e o nome doDwarf
for "Seixas" ou "Meireles", multiplique o número a ser retornado por 33 e façaoperador mod
100 com o resultado da multiplicação.
No método receberFlecha()
(ou o que você tenha chamado), chame o método getNumeroSorte()
. Caso o resultado seja menor que 0, o Dwarf
não deverá receber a flecha e ainda ganhará dois pontos de experiência. Senão se o número estiver entre 0 e 100 (incluindo 0 e 100), o Dwarf
não recebe flechas e não recebe experiência. Caso contrário, o Dwarf
receberá a flechada (como está hoje).