Bisher hast du → Prozeduren oder → Funktionen nur im jeweiligen Programm verwenden können.
Die Definition einer → Klasse verschafft dir die Möglichkeit, Prozeduren und Funktionen in jedem beliebigen Hamsterprogramm zu verwenden.
Aufgabe:
Erstelle eine neue Klasse.
class AllesKoennerHamster extends Hamster
{
void schritteVor(int anzahlSchritte)
{
int schrittZaehler = 0;
while (schrittZaehler < anzahlSchritte)
{
. . .
. . .
}
}
int bisZurMauer()
{
int anzahl = 0;
while (this.vornFrei())
{
. . .
}
return anzahl;
}
void main()
{
AllesKoennerHamster willi = new AllesKoennerHamster();
willi.init (2, 2, Hamster.OST, 0);
}
int anzahlSchritte = willi.bisZurMauer();... und sorge dafür, dass willi die Hälfte der Strecke zurückgeht.

Aufgabe: Neuauflage des → Hamstertreffens
void geheZuKachel(int reihe, int spalte)
{
/* reihe -> Position des gesuchten Hamsters in der Reihe
wurde im Hauptprogramm mit getReihe() ermittelt
spalte -> Position des gesuchten Hamsters in der Spalte
wurde im Hauptprogramm mit getSpalte() ermittelt
*/
// der gesuchte Hamster befindet sich unterhalb des aktuellen Hamsters
if (reihe > this.getReihe())
{
. . .
}
// der gesuchte Hamster befindet sich oberhalb des aktuellen Hamsters
else
{
. . .
}
// der Hamster geht solange vorwaerts, bis er sich in der
// gleichen Reihe wie der gesuchte Hamster befindet
while (reihe != this.getReihe())
{
. . .
}
// der gesuchte Hamster befindet sich links vom aktuellen Hamster
if (spalte > this.getSpalte())
{
. . .
}
// der gesuchte Hamster befindet sich rechts vom aktuellen Hamster
else
{
. . .
}
// der Hamster geht solange vorwaerts, bis er sich in der
// gleichen Spalte wie der gesuchte Hamster befindet
while (spalte != this.getSpalte())
{
. . .
}
}
void setzeBlickRichtung(int richtung)
{
while(this.getBlickrichtung() != richtung)
{
. . .
}
}
