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>