Class Hamster

java.lang.Object
  extended by Hamster

public class Hamster
extends java.lang.Object

Repraesentation von objektorientierten Hamstern im Java-Hamster-Modell


Field Summary
static int BLAU
           
static int BLUE
           
static int CYAN
           
static int GELB
           
static int GRAU
           
static int GRAY
           
static int GREEN
           
static int GRUEN
           
static int MAGENTA
           
static int NORD
          Blickrichtung Nord
static int ORANGE
           
static int OST
          Blickrichtung Ost
static int PINK
           
static int RED
           
static int ROT
           
static int SUED
          Blickrichtung Sued
static int WEISS
           
static int WEST
          Blickrichtung West
static int WHITE
           
static int YELLOW
           
 
Constructor Summary
Hamster()
          Konstruktor zum Erzeugen eines nicht initialisierten Hamsters
Hamster(Hamster hamster)
          Konstruktor zum Erzeugen und Initialisieren eines Hamsters mit den Werten eines bereis existierenden Hamsters
Hamster(int reihe, int spalte, int blickrichtung, int anzahlKoerner)
          Konstruktor zum Erzeugen und Initialisieren eines Hamsters mit den uebergebenen Parametern
Hamster(int reihe, int spalte, int blickrichtung, int anzahlKoerner, int farbe)
          Konstruktor zum Erzeugen und Initialisieren eines Hamsters mit den uebergebenen Parametern; mit diesem Konstruktor kann die Farbe eines Hamsters im Hamster-Simulator explizit gesetzt werden
 
Method Summary
 java.lang.Object clone()
          Methode, die einen Klon des aufgerufenen Hamsters erzeugt und liefert, d.h. die Werte der Attribute des neuen Hamsters sind identisch zu den Werten des aufgerufenen Hamsters.
 boolean equals(java.lang.Object hamster)
          Methode, die ueberprueft, ob die Werte der Attribute des aufgerufenen Hamsters gleich der Attributwerte des uebergebenen Hamsters sind (zwei nicht initialisierte Hamster sind auch gleich) (ueberschreibt die entsprechende von der Klasse Object geerbte Methode)
static int getAnzahlHamster()
          liefert die Gesamtzahl an erzeugten und initialisierten Hamstern im Territorium (inkl. dem Standard-Hamster)
 int getAnzahlKoerner()
          liefert die Anzahl der Koerner, die der aufgerufene Hamster gerade im Maul hat
 int getBlickrichtung()
          liefert die Blickrichtung, in die der aufgerufene Hamster gerade schaut (die gelieferten Werte entsprechen den obigen Konstanten)
 int getReihe()
          liefert die Reihe der Kachel des Territoriums, auf der sich der aufgerufene Hamster gerade befindet
 int getSpalte()
          liefert die Spalte der Kachel des Territoriums, auf der sich der aufgerufene Hamster gerade befindet
static Hamster getStandardHamster()
          liefert den Standard-Hamster, das ist der Hamster, der sich standardmaessig im Territorium befindet, ohne explizit erzeugt werden zu muessen
 void gib()
          Der aufgerufene Hamster legt ein Korn auf der Kachel ab, auf der er sich gerade befindet.
 int hashCode()
          Methode, die fuer den Hamster einen Hashcode produziert
 void init(int reihe, int spalte, int blickrichtung, int anzahlKoerner)
          Methode zum Initialisieren eines noch nicht initialsierten Hamsters.
 boolean kornDa()
          liefert genau dann true, wenn auf der Kachel, auf der sich der aufgerufene Hamster gerade befindet, mindestens ein Korn liegt
 int liesZahl(java.lang.String aufforderung)
          gibt den uebergebenen String auf den Bildschirm aus und fordert den Benutzer auf, eine Zahl einzugeben; die eingegebene Zahl wird als Wert geliefert (wenn der Benutzer eine ungueltige Zahl eingibt, wird der Wert 0 geliefert)
 java.lang.String liesZeichenkette(java.lang.String aufforderung)
          gibt den uebergebenen String auf den Bildschirm aus und fordert den Benutzer auf, einen String einzugeben; der eingegebene String wird als Wert geliefert
 void linksUm()
          Der aufgerufene Hamster dreht sich linksum.
 boolean maulLeer()
          liefert genau dann true, wenn der aufgerufene Hamster keine Koerner im Maul hat
 void nimm()
          Der aufgerufene Hamster frisst ein Korn auf der Kachel, auf der er sich gerade befindet.
 void schreib(java.lang.String zeichenkette)
          gibt den uebergebenen String (in einer Dialogbox) auf den Bildschirm aus
 java.lang.String toString()
          Methode, die eine String-Repraesentation der folgenden Art fuer den aufgerufenen Hamster liefert: "Hamster steht auf Kachel (0/0) mit Blickrichtung OST und 2 Koernern im Maul" Wenn der aufgerufene Hamster noch nicht initialisiert ist, wird folgender String geliefert: "Hamster ist nicht initialisiert" (ueberschreibt die entsprechende von der Klasse Object geerbte Methode)
 void vor()
          Der aufgerufene Hamster springt auf die in Blickrichtung vor ihm liegende Kachel.
 boolean vornFrei()
          liefert genau dann true, wenn sich in Blickrichtung vor dem aufgerufenen Hamster keine Mauer befindet (wenn sich der Hamster in Blickrichtung am Rand des Territoriums befindet, wird false geliefert)
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

NORD

public static final int NORD
Blickrichtung Nord

See Also:
Constant Field Values

OST

public static final int OST
Blickrichtung Ost

See Also:
Constant Field Values

SUED

public static final int SUED
Blickrichtung Sued

See Also:
Constant Field Values

WEST

public static final int WEST
Blickrichtung West

See Also:
Constant Field Values

BLAU

public static final int BLAU
See Also:
Constant Field Values

BLUE

public static final int BLUE
See Also:
Constant Field Values

ROT

public static final int ROT
See Also:
Constant Field Values

RED

public static final int RED
See Also:
Constant Field Values

GRUEN

public static final int GRUEN
See Also:
Constant Field Values

GREEN

public static final int GREEN
See Also:
Constant Field Values

GELB

public static final int GELB
See Also:
Constant Field Values

YELLOW

public static final int YELLOW
See Also:
Constant Field Values

CYAN

public static final int CYAN
See Also:
Constant Field Values

MAGENTA

public static final int MAGENTA
See Also:
Constant Field Values

ORANGE

public static final int ORANGE
See Also:
Constant Field Values

PINK

public static final int PINK
See Also:
Constant Field Values

GRAU

public static final int GRAU
See Also:
Constant Field Values

GRAY

public static final int GRAY
See Also:
Constant Field Values

WEISS

public static final int WEISS
See Also:
Constant Field Values

WHITE

public static final int WHITE
See Also:
Constant Field Values
Constructor Detail

Hamster

public Hamster()
Konstruktor zum Erzeugen eines nicht initialisierten Hamsters


Hamster

public Hamster(int reihe,
               int spalte,
               int blickrichtung,
               int anzahlKoerner)
        throws HamsterInitialisierungsException
Konstruktor zum Erzeugen und Initialisieren eines Hamsters mit den uebergebenen Parametern

Parameters:
reihe - die Reihe des Territoriums, in der der Hamster erzeugt wird
spalte - die Spalte des Territoriums, in der der Hamster erzeugt wird
blickrichtung - die Richtung, in der der Hamster anfangs schaut (siehe Konstanten)
anzahlKoerner - die Anzahl an Koernern, die der Hamster anfangs im Maul hat
Throws:
HamsterInitialisierungsException - wird geworfen, wenn: (a) eine Kachel (reihe/spalte) nicht existiert (b) die Kachel (reihe/spalte) durch eine Mauer blockiert ist (c) der Wert von blickrichtung nicht zwischen 0 und 3 liegt (d) der Wert von anzahlKoerner < 0 ist

Hamster

public Hamster(Hamster hamster)
Konstruktor zum Erzeugen und Initialisieren eines Hamsters mit den Werten eines bereis existierenden Hamsters

Parameters:
hamster - ein bereits existierender Hamster

Hamster

public Hamster(int reihe,
               int spalte,
               int blickrichtung,
               int anzahlKoerner,
               int farbe)
Konstruktor zum Erzeugen und Initialisieren eines Hamsters mit den uebergebenen Parametern; mit diesem Konstruktor kann die Farbe eines Hamsters im Hamster-Simulator explizit gesetzt werden

Parameters:
reihe - die Reihe des Territoriums, in der der Hamster erzeugt wird
spalte - die Spalte des Territoriums, in der der Hamster erzeugt wird
blickrichtung - die Richtung, in der der Hamster anfangs schaut (siehe Konstanten)
anzahlKoerner - die Anzahl an Koernern, die der Hamster anfangs im Maul hat
farbe - die Farbe des Hamsters im Hamster-Simulator (siehe Konstanten)
Throws:
HamsterInitialisierungsException - wird geworfen, wenn: (a) eine Kachel (reihe/spalte) nicht existiert (b) die Kachel (reihe/spalte) durch eine Mauer blockiert ist (c) der Wert von blickrichtung nicht zwischen 0 und 3 liegt (d) der Wert von anzahlKoerner < 0 ist
Method Detail

init

public void init(int reihe,
                 int spalte,
                 int blickrichtung,
                 int anzahlKoerner)
          throws HamsterInitialisierungsException
Methode zum Initialisieren eines noch nicht initialsierten Hamsters. Der Aufruf der Methode fuer einen bereits initialisierten Hamster bewirkt nichts.

Parameters:
reihe - die Reihe des Territoriums, in der der Hamster erzeugt wird
spalte - die Spalte des Territoriums, in der der Hamster erzeugt wird
blickrichtung - die Richtung, in der der Hamster anfangs schaut (siehe Konstanten)
anzahlKoerner - die Anzahl an Koernern, die der Hamster anfangs im Maul hat
Throws:
HamsterInitialisierungsException - wird geworfen, wenn: (a) eine Kachel (reihe/spalte) nicht existiert (b) die Kachel (reihe/spalte) durch eine Mauer blockiert ist (c) der Wert von blickrichtung nicht zwischen 0 und 3 liegt (d) der Wert von anzahlKoerner < 0 ist

vor

public void vor()
         throws HamsterNichtInitialisiertException,
                MauerDaException
Der aufgerufene Hamster springt auf die in Blickrichtung vor ihm liegende Kachel.

Throws:
HamsterNichtInitialisiertException - wird geworfen, wenn der Hamster noch nicht initialisiert worden ist
MauerDaException - wird geworfen, wenn die Kachel in Blickrichtung vor dem Hamster durch eine Mauer blockiert ist oder der Hamster in Blickrichtung am Rand des Territoriums steht

linksUm

public void linksUm()
             throws HamsterNichtInitialisiertException
Der aufgerufene Hamster dreht sich linksum.

Throws:
HamsterNichtInitialisiertException - wird geworfen, wenn der Hamster noch nicht initialisiert worden ist

gib

public void gib()
         throws HamsterNichtInitialisiertException,
                MaulLeerException
Der aufgerufene Hamster legt ein Korn auf der Kachel ab, auf der er sich gerade befindet.

Throws:
HamsterNichtInitialisiertException - wird geworfen, wenn der Hamster noch nicht initialisiert worden ist
MaulLeerException - wird geworfen, wenn der Hamster keine Koerner im Maul hat

nimm

public void nimm()
          throws HamsterNichtInitialisiertException,
                 KachelLeerException
Der aufgerufene Hamster frisst ein Korn auf der Kachel, auf der er sich gerade befindet.

Throws:
HamsterNichtInitialisiertException - wird geworfen, wenn der Hamster noch nicht initialisiert worden ist
KachelLeerException - wird geworfen, wenn auf der Kachel, auf der sich der Hamster gerade befindet, kein Korn liegt

vornFrei

public boolean vornFrei()
                 throws HamsterNichtInitialisiertException
liefert genau dann true, wenn sich in Blickrichtung vor dem aufgerufenen Hamster keine Mauer befindet (wenn sich der Hamster in Blickrichtung am Rand des Territoriums befindet, wird false geliefert)

Returns:
true, wenn sich in Blickrichtung vor dem aufgerufenen Hamster keine Mauer befindet; sonst false
Throws:
HamsterNichtInitialisiertException - wird geworfen, wenn der Hamster noch nicht initialisiert worden ist

maulLeer

public boolean maulLeer()
                 throws HamsterNichtInitialisiertException
liefert genau dann true, wenn der aufgerufene Hamster keine Koerner im Maul hat

Returns:
true, wenn der aufgerufene Hamster keine Koerner im Maul hat; sonst false
Throws:
HamsterNichtInitialisiertException - wird geworfen, wenn der Hamster noch nicht initialisiert worden ist

kornDa

public boolean kornDa()
               throws HamsterNichtInitialisiertException
liefert genau dann true, wenn auf der Kachel, auf der sich der aufgerufene Hamster gerade befindet, mindestens ein Korn liegt

Returns:
true, wenn auf der Kachel, auf der sich der aufgerufene Hamster gerade befindet, mindestens ein Korn liegt; sonst false
Throws:
HamsterNichtInitialisiertException

schreib

public void schreib(java.lang.String zeichenkette)
             throws HamsterNichtInitialisiertException
gibt den uebergebenen String (in einer Dialogbox) auf den Bildschirm aus

Parameters:
zeichenkette - der auszugebende String
Throws:
HamsterNichtInitialisiertException - wird geworfen, wenn der Hamster noch nicht initialisiert worden ist

liesZeichenkette

public java.lang.String liesZeichenkette(java.lang.String aufforderung)
                                  throws HamsterNichtInitialisiertException
gibt den uebergebenen String auf den Bildschirm aus und fordert den Benutzer auf, einen String einzugeben; der eingegebene String wird als Wert geliefert

Parameters:
aufforderung - der auszugebende String
Returns:
der vom Benutzer eingegebene String
Throws:
HamsterNichtInitialisiertException - wird geworfen, wenn der Hamster noch nicht initialisiert worden ist

liesZahl

public int liesZahl(java.lang.String aufforderung)
             throws HamsterNichtInitialisiertException
gibt den uebergebenen String auf den Bildschirm aus und fordert den Benutzer auf, eine Zahl einzugeben; die eingegebene Zahl wird als Wert geliefert (wenn der Benutzer eine ungueltige Zahl eingibt, wird der Wert 0 geliefert)

Parameters:
aufforderung - der auszugebende String
Returns:
die vom Benutzer eingegebene Zahl
Throws:
HamsterNichtInitialisiertException - wird geworfen, wenn der Hamster noch // nicht initialisiert worden ist

getReihe

public int getReihe()
             throws HamsterNichtInitialisiertException
liefert die Reihe der Kachel des Territoriums, auf der sich der aufgerufene Hamster gerade befindet

Returns:
die Reihe der Kachel des Territoriums, auf der sich der aufgerufene Hamster gerade befindet
Throws:
HamsterNichtInitialisiertException - wird geworfen, wenn der Hamster noch // nicht initialisiert worden ist

getSpalte

public int getSpalte()
              throws HamsterNichtInitialisiertException
liefert die Spalte der Kachel des Territoriums, auf der sich der aufgerufene Hamster gerade befindet

Returns:
die Spalte der Kachel des Territoriums, auf der sich der aufgerufene Hamster gerade befindet
Throws:
HamsterNichtInitialisiertException - wird geworfen, wenn der Hamster noch nicht initialisiert worden ist

getBlickrichtung

public int getBlickrichtung()
                     throws HamsterNichtInitialisiertException
liefert die Blickrichtung, in die der aufgerufene Hamster gerade schaut (die gelieferten Werte entsprechen den obigen Konstanten)

Returns:
die Blickrichtung, in die der aufgerufene Hamster gerade schaut
Throws:
HamsterNichtInitialisiertException - wird geworfen, wenn der Hamster noch nicht initialisiert worden ist

getAnzahlKoerner

public int getAnzahlKoerner()
                     throws HamsterNichtInitialisiertException
liefert die Anzahl der Koerner, die der aufgerufene Hamster gerade im Maul hat

Returns:
die Anzahl der Koerner, die der aufgerufene Hamster gerade im Maul hat
Throws:
HamsterNichtInitialisiertException - wird geworfen, wenn der Hamster noch nicht initialisiert worden ist

getStandardHamster

public static Hamster getStandardHamster()
liefert den Standard-Hamster, das ist der Hamster, der sich standardmaessig im Territorium befindet, ohne explizit erzeugt werden zu muessen

Returns:
der Standard-Hamster

getAnzahlHamster

public static int getAnzahlHamster()
liefert die Gesamtzahl an erzeugten und initialisierten Hamstern im Territorium (inkl. dem Standard-Hamster)

Returns:
die Gesamtzahl an erzeugten und initialisierten Hamstern im Territorium

clone

public java.lang.Object clone()
Methode, die einen Klon des aufgerufenen Hamsters erzeugt und liefert, d.h. die Werte der Attribute des neuen Hamsters sind identisch zu den Werten des aufgerufenen Hamsters. Wenn der aufgerufene Hamster noch nicht initialisiert ist, wird der neu erzeugte Hamster auch nicht initialisiert (ueberschreibt die entsprechende von der Klasse Object geerbte Methode).

Overrides:
clone in class java.lang.Object
Returns:
ein Klon des aufgerufenen Hamsters
See Also:
Object.clone()

equals

public boolean equals(java.lang.Object hamster)
Methode, die ueberprueft, ob die Werte der Attribute des aufgerufenen Hamsters gleich der Attributwerte des uebergebenen Hamsters sind (zwei nicht initialisierte Hamster sind auch gleich) (ueberschreibt die entsprechende von der Klasse Object geerbte Methode)

Overrides:
equals in class java.lang.Object
Parameters:
hamster - muss ein Objekt der Klasse Hamster oder einer davon abgeleiteten Klasse sein
See Also:
Object.equals(java.lang.Object)

hashCode

public int hashCode()
Methode, die fuer den Hamster einen Hashcode produziert

Overrides:
hashCode in class java.lang.Object
Returns:
Hashcode fuer den Hamster
See Also:
Object.hashCode()

toString

public java.lang.String toString()
Methode, die eine String-Repraesentation der folgenden Art fuer den aufgerufenen Hamster liefert: "Hamster steht auf Kachel (0/0) mit Blickrichtung OST und 2 Koernern im Maul" Wenn der aufgerufene Hamster noch nicht initialisiert ist, wird folgender String geliefert: "Hamster ist nicht initialisiert" (ueberschreibt die entsprechende von der Klasse Object geerbte Methode)

Overrides:
toString in class java.lang.Object
Returns:
eine String-Repraesentation des aktuellen Hamster-Zustands
See Also:
Object.toString()