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>