JavaScriptHamster

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

<language>Javascript</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="54e7b12f52e81" hidden>
[[JavaScriptLib|Hamster]]

var Spielfeld = new Spielbrett(canvas);
var Paul = new Hamster(Spielfeld);

function vor() {Paul.vor();}
function linksUm() {Paul.linksUm();}
function nimm() {Paul.nimm();}
function gib() {Paul.gib();}
function vornFrei() {return Paul.vornFrei();}
function kornDa() {return Paul.kornDa();}
function 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">

function rechtsUm() { //Definition
 linksUm();
 linksUm();
 linksUm();
}
function frissDichRundUndSatt() {
 // aufessen solange bis kein Korn mehr da liegt
 while(kornDa()) nimm();
}

function eineReiheLeerFuttern () {
 // wenn wir auf einem Korn anfangen erstmal aufessen
 frissDichRundUndSatt();
 while(vornFrei()){
  // weiter laufen
  vor();
  // aufessen wenn hier was liegt
  frissDichRundUndSatt();
 }
}

while(vornFrei()){
 eineReiheLeerFuttern ();
 rechtsUm();
 if(!vornFrei()) break;
 vor();
 rechtsUm();
 eineReiheLeerFuttern ();
 linksUm();
 if(!vornFrei()) break;
 vor();
 linksUm();
}
</run>
<canvas w=500 h=400>
</canvas>