# Hilfe - Hamstersimulator



## Scorepion (10. März 2010)

Hallo,

wie der Titel schon sagt, brauche ich Hilfe bei einer Aufgabe im Hamstersimulator.

*Die Aufgabe:*​Der Hamster darf in diesem Territorium nur ein Mal am Rand entlanglaufen und sich dann wieder an seinem Startplatz einfinden, mit derselben Blickrichtung wie am Anfang. Es dürfen keine Körner benutzt werden!

Territorium "Leicht": Keine Hindernisse
Territorium "Schwer": Mit Hindernissen



			Dieser Inhalt steht nur eingeloggten Mitgliedern zur Verfügung.
        



*Bekannte Befehle:*

vor();
linksUm();
gib();
nimm();

while (vornFrei())              while (!vornFrei())
while (maulLeer())               ""
while (kornDa())                 ""

if
else

int

boolean

for
________________________



Meine Lösung zum Territorium "Leicht":


void main()
{
int x=0;		// "x" ist als "0" deklariert
int y=0;		// "y" ist als "0" deklariert

while (vornFrei())	// solange vorne frei, ...
{
    vor();		// ... geht der Hamster vor und ...
    x++;		// ... zählt Kacheln.
}

linksUm();

while (vornFrei())
{
    vor();
    y++;
}

linksUm();

while (x > 0)		// solange "x" größer als "0" ist ...
{
    vor();		// ... geht der Hamster zurück, indem er ...
    x--;		// ... runterzählt!
}

linksUm();

while (y > 0)
{
    vor();
    y--;
}

linksUm();

}


----------



## bingo88 (10. März 2010)

Oh nein, das Ding hatte ich auch in der Ausbildung/im Studium :/ Mein Beileid...
Ich kann dir atm leider nur einen Tipp zu schwer geben: Schau dir mal den Pledge-Algorithmus an, vllt. klappt das damit!
Links: Algorithmus der Woche - Informatikjahr 2006


----------



## Scorepion (11. März 2010)

Danke, ich versuche mal.


----------



## Puepue (12. März 2010)

Also in einem Labyrinth kommt man ja immer ans Ziel wenn man sich an einer Wand entlang tastet .. in dem Fall kommt man wieder da raus wo man angefangen hat... also brauchst du ja eigentlich so befehle wie nimm und gib garnicht oder?


----------



## Scorepion (13. März 2010)

"nimm" und "gib" braucht man in diesem Fall nicht. Wurde sogar vom Lehrer verboten! Und der Script soll bei jedem beliebig großen Territorium funktionieren.


----------



## Puepue (13. März 2010)

Vielleicht solltest du das so machen (ich bin mir aber nicht sicher):

gehe vor, solange rechts nicht frei, 
wenn rechts frei: drehe 3x links um
gehe vor, solange rechts nicht frei
.
.
.
.


----------



## bingo88 (15. März 2010)

Scorepion schrieb:


> "nimm" und "gib" braucht man in diesem Fall nicht. Wurde sogar vom Lehrer verboten! Und der Script soll bei jedem beliebig großen Territorium funktionieren.


Tut der Pledge-Algorithmus doch  Siehe den zuvor geposteten Link


----------

