Java-Hamster problem

Hallo,
kennt hier jemand den Java-Hamster?
wir machen das gerade in Informatik und wir haben so einen Wettbewerb in der Klasse: wir müssen unseren Hamster so programmieren, dass er durch jedes beliebige Territorium läuft und alle Körner sammelt, aber unser Hamster läuft immer nur im Kreis oder findet nicht alle Körner.
Das Problem ist, glaube ich, auch, dass wir noch nicht viele Sachen bei Java können: do,if, while, else, for, int, boolean und die Hamster-befehle.
Ich wollt nur wissen ob jemand eine Idee hat, ein Quellcode würde mir gar nicht viel helfen, wir standen nur vor dem Problem: Schleifen /Array-Typen oder sonst was??
Ich hoffe auf Hilfe!Danke im Voraus!

Das Problem ist, glaube ich, auch, dass wir noch nicht viele
Sachen bei Java können: do,if, while, else, for, int, boolean
und die Hamster-befehle.

Mehr brauchst du vermutlich auch nicht. Ich denke eher, dass sich in eurem Programm ein Fehler befindet.

Ich wollt nur wissen ob jemand eine Idee hat, ein Quellcode
würde mir gar nicht viel helfen, wir standen nur vor dem
Problem: Schleifen /Array-Typen oder sonst was??

Poste doch du mal deinen bisherigen Code. Ich habe keine Ahnung vom Java-Hamster, aber wenn ich den Code sehe, kann ich dir wahrscheinlich sagen, warum dein Hamster im Kreis rennt.

Auch hallo

kennt hier jemand den Java-Hamster?

Diesen: http://www.java-hamster-modell.de/ ?
Was das Problem angeht kann es helfen, den Hamsterweg mal aus Sicht der Maschine nachzuvollziehen…

mfg M.L.

Ist zwar schon ewig her aber…

Das Prinzip ist, dass ihr bei jedem Feld auf dem sich der Hamster immer an den Wänden orientiert, ihr müsst also dafür sorgen, dass er an einer Wand entlang läuft.

Dazu braucht ihr nicht mehr als if abfragen und while schleifen, diese müsst ihr nur geschickt verschachteln. Es muss dann also mal so aussehen, dass der Hamster auf jedem Feld prüft ob rechts/links von ihm eine Wand ist, aber der Weg nach vorn nicht blockiert ist. Wenn das nicht so ist, muss er sich so lange drehen, bis rechts/links =wand + vorn frei TRUE ist. Wenn euch das noch nicht weiterhilft, muss ich mich nochmal genauer damit beschäftigen :wink:

unser quellcode
Hallo, hier hab ich jetzt endlich unseren quellcode:
void main() {
int startreihe = getReihe();
int startspalte = getSpalte();
int a=0;
while (a==0){
if (rechtsFrei()) {
rechtsUm();
vor();
nimmAlles();
}
else {
if (vornFrei())
{
vor();
nimmAlles();
}
else { linksUm();}
}
}

getReihe();
getSpalte();

if (getReihe())= startreihe
(getSpalte()) = startspalte
(

}

void nimmAlles(){
while (kornDa()) {
nimm();
}
}

void rechtsUm() {
linksUm();
linksUm();
linksUm();

}

void vor(int n){
while (n > 0) {
vor();
n = n-1;

}

}

void nimm(int n) {
while (n > 0) {
nimm();
n=n-1;
}

}

boolean rechtsFrei() {
rechtsUm();
if (vornFrei()) {
linksUm();
return true;
}
else {
linksUm();
return false;

}
if
}

teilweise sind es auch nur Ideen, das ganze mit dem getreihe usw. das einzige problem an unserem code war eigentlich, dass der Hamster nur an den wänden entlangläuft und nie in die freien Felder in der Mitte kommt… Ich hoffe, jemand kann helfen!!!