Skip to content

Instantly share code, notes, and snippets.

@bernardobrezende
Last active September 28, 2016 14:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save bernardobrezende/f254cdf981c3e2d37703 to your computer and use it in GitHub Desktop.
Save bernardobrezende/f254cdf981c3e2d37703 to your computer and use it in GitHub Desktop.
Módulo 01 - Introdução OO - Dia 03

Projeto CRESCER CWI

Índice de exercícios

  1. [A morte do Dwarf] (#a-morte-do-dwarf)
  2. [Sem vida negativa] (#sem-vida-negativa)
  3. [Novos campos] (#novos-campos)
  4. [Calendário de Tolkien] (#calendário-de-tolkien)
  5. [Número da sorte] (#número-da-sorte)
  6. [A vida do Dwarf depende de sua sorte!] (#a-vida-do-dwarf-depende-de-sua-sorte)

Exercício 1

A morte do Dwarf

Quando um Dwarf tem 0 de vida, seu status é MORTO.

Exercício 2

Sem vida negativa

Agora que já conseguimos saber quando um Dwarf está MORTO, temos que evitar que ele fique devendo vidas! (Vida não pode ser negativa).

Exercício 3

Novos campos

Adicione nome e experiência à classe Dwarf. Crie um construtor que recebe nome.

Exercício 4

Calendário de Tolkien

4.1

Crie um objeto DataTerceiraEra com 3 campos: dia, mês e ano. Todos campos são inteiros. Faça os métodos getters apenas.

4.2

Adicione um construtor à classe DataTerceiraEra com os 3 campos existentes no objeto.

4.3

Adicione um método ehBissexto() no objeto DataTerceiraEra que retorna true caso o ano da data seja bissexto, false caso contrário.

4.4

Adicione um campo dataNascimento do tipo DataTerceiraEra na classe Dwarf.

4.5

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).

Exercício 5

Número da sorte

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 objeto Dwarf for bissexto e a vida do Dwarf estiver entre 80 e 90 (incluindo 80 e 90), multiplique o número a ser retornado por -33
  • Se o campo dataNascimento do objeto Dwarf não for bissexto e o nome do Dwarf for "Seixas" ou "Meireles", multiplique o número a ser retornado por 33 e faça operador mod 100 com o resultado da multiplicação.

Exercício 6

A vida do Dwarf depende de sua sorte!

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).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment