Hamstersilulator JAVA?

...komplette Frage anzeigen

2 Antworten

würde es anders angehen:

solange kein korn gefressen:
    //programm abbruch szenario
    wenn auf position ein korn ist, friss es (ende);

    //wenn links ein eingang ist, gehe hinein
    drehe um 90° nach links
    wenn vor dir frei,
        gehe hinein;
    sonst
        drehe dich 90° nach rechts;
   

    //solange du nicht gelaufen bist, drehe dich um 90°nach rechts;
    //und laufe einen schritt sobald vor dir frei ist
    solange nicht gelaufen:
        wenn vor dir frei,
            laufe eins vor;
        sonst drehe dich um 90° nach rechts

wenn er sich immer nur an einer seite orientiert, wird er das ganze labyrinth durchlaufen, da jeder gang wie ein u ist.
ausnahme: er startet mittig im labyrinth mit einem zyklus an der linken seite
// H= hamster -> blickrichtung oben => dann würde er ewig im kreis um diesen block laufen :D

   -----
   |     |  H
   -----

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von nico1140
06.02.2017, 16:43

Ok Danke,

Versuche es mal um zusetzten :)

0

Ist bei der Formatierung etwas blöd zu lesen aber eins hab ich gefunden.

statt while(kornDa())

würd ich if(kornDa()) machen

wie genau schaut die funktion vor() aus?

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von nico1140
06.02.2017, 16:20

Also es gibt ein Spielfeld mit Mauern und Körnen.

Der Befehl vor(), sagt dem Hamster das er ein Feld nach vorne muss.

Der Befehl linksUm(), sagt dem Hamster das er ein Feld nach links drehen muss.

eckeUm() und guckUm() hab ich mit dem Befehl linksUm() definiert




0

Was möchtest Du wissen?