Hamster
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
<language>Java</language>
Im Internet Explorer ist die Darstellung deutlich langsamer als im FireFox. Es wird deshalb der FireFox Browser für die Hamsterbeispiele empfohlen.
<code id="4cb40957ba295" hidden>
[[JavaLib|Hamster]]
Object Spielfeld = Spielbrett(canvas);
Object Paul = Hamster(Spielfeld);
void vor() {Paul.vor();}
void linksUm() {Paul.linksUm();}
void nimm() {Paul.nimm();}
void gib() {Paul.gib();}
boolean vornFrei() {return Paul.vornFrei();}
boolean kornDa() {return Paul.kornDa();}
boolean maulLeer() {return Paul.maulLeer();}
//////// Setup Map /////////
Spielfeld.initMap();
Paul.x = 1;
Paul.y = 1;
Paul.look = 1;
Paul.speed = 60; // 1 slow - 100 fast
Spielfeld.putGrain(3,1,1);
Spielfeld.putGrain(6,1,4);
Spielfeld.putGrain(3,2,1);
Spielfeld.putGrain(4,2,1);
Spielfeld.putGrain(1,3,2);
Spielfeld.putGrain(2,3,2);
Spielfeld.putGrain(3,3,2);
Spielfeld.putGrain(4,3,1);
Spielfeld.putGrain(5,3,1);
Spielfeld.putGrain(6,3,1);
Spielfeld.putGrain(3,4,1);
Spielfeld.putGrain(4,4,1);
Spielfeld.putGrain(6,4,1);
Spielfeld.putGrain(2,5,1);
Spielfeld.putGrain(1,6,1);
Spielfeld.putGrain(3,6,4);
Spielfeld.putGrain(5,6,1);
</code>
<run id="4b03d247eb4f5">
void rechtsUm() { //Definition
linksUm();
linksUm();
linksUm();
}
void frissDichRundUndSatt() {
// aufessen solange bis kein Korn mehr da liegt
while(kornDa()) nimm();
}
void eineReiheLeerFuttern () {
// wenn wir auf einem Korn anfangen erstmal aufessen
frissDichRundUndSatt();
while(vornFrei()){
// weiter laufen
vor();
// aufessen wenn hier was liegt
frissDichRundUndSatt();
}
}
void main () {
while(vornFrei()){
eineReiheLeerFuttern ();
rechtsUm();
if(!vornFrei()) break;
vor();
rechtsUm();
eineReiheLeerFuttern ();
linksUm();
if(!vornFrei()) break;
vor();
linksUm();
}
}
main();
</run>
<canvas w=500 h=400>
</canvas>