zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite

Antwort:

Ja.

Monster Object

Hier ist ein Entwurf der Klasse Monster.

class Monster implements 
{
  private int hitPoints, strength, age;
  private String name;

  public Monster(int hp, int str, int age, String nm)
  {
    hitPoints = hp; strength = str; this.age = age; name = nm;
  }

  public int getHitPoints() {return hitPoints;}

  public int getStrength() {return strength;}

  public int getAge() {return age;}

  public String getName() {return name;}

  public String toString()
  {
    return "HP: " + getHitPoints() + " \tStr: " +
      getStrength() + "\t" + getName();
  }

  public int compareTo(  )
  {

     .... more goes here ...
  }
}

Nehmen wir an, wir schreiben ein Computerspiel, in dem der Held verschiedenen Monstern begegnet. Die Monster haben mehrere Eigenschaften: Trefferpunkte (hit points), Stärke, Alter und Name. Die Anzahl der Trefferpunkte, die ein Monster hat, gibt an, wie weit es vom Tod entfernt ist. Ein Monster mit einer großen Anzahl von Trefferpunkten ist schwer zu töten. Auch der Held hat Trefferpunkte.

Wenn die Trefferpunkte des Helden Null erreichen, ist das Spiel vorbei. Die Stärke eines Monsters bestimmt, wie viele Trefferpunkte der Held verliert, wenn das Monster den Helden trifft. Das Alter und der Name des Monsters haben keinen Einfluss auf den Ausgang der Kämpfe zwischen Monster und Held.

Monster braucht eine Methode compareTo(), damit die Monster verglichen werden können. Zum Beispiel damit das Spiel den Helden mit Monstern in aufsteigender Reihenfolge der Schwierigkeit konfrontieren kann.


FRAGE 21:

Wir füllen die Lücken aus.