#limit (11.0)##pagelength (16.5)##block# #start (2.0,0.0)# #page (61)# #headodd# #center#gs-Herbert und Robbi#right#% #end# #headeven# %#center#gs-Herbert und Robbi #end# #center#5 #center#Detailbeschreibung #center#der #center#Basisbefehle #on("u")#'vor' bewirkt:#off("u")# - ein Eingabezeichen wird von der Tastatur gelesen und ausgewertet. - es wird je nach Verzögerungsfaktor (eine vorgege­ bene Wartezeit, die auch während des Programmlaufs verändert werden kann) gewartet. - falls die Kachel vor dem Hamster/Roboter noch frei ist und zur Landschaft/zum Arbeitsfeld gehört, geht der Hamster/ Roboter um eine Kachel in der augenblicklichen Richtung vorwärts. - falls vor dem Hamster/Roboter ein Hindernis liegt, oder wenn er im Begriff ist, aus der Landschaft/aus dem Arbeitsfeld herauszulaufen, wird das Programm mit entsprechender Fehlermeldung abgebrochen. #on("u")#'links um' bewirkt:#off("u")# - wie bei 'vor': Annahme eines Tastendruckes und Warten. - eine Drehung des Hamsters/Roboters um 90 Grad ge­ gen den Uhrzeigersinn. #on("u")#'nimm' bewirkt:#off("u")# - wie bei 'vor': Annahme eines Tastendruckes und Warten. - falls auf der Kachel, auf der der Hamster/Roboter steht, kein Korn/Werkstück liegt, wird das Programm mit entsprechender Fehlermeldung abgebrochen. - falls dort genau ein Korn/ein Werkstück liegt, wird dieses auf dem Bildschirm entfernt. Es wird zu denen in den Backentaschen/im Behälter addiert. Auf dem Bildschirm erscheint an der Stelle (" ."). - falls mehrere Körner/Werkstücke dort liegen, wird eines zu denen in den Backentaschen/im Behälter addiert und von denen auf der Kachel subtrahiert. Auf dem Bildschirm erscheint weiterhin an der Stel­ le (" o"). #on("u")#'gib' bewirkt:#off("u")# - wie bei 'vor': Annahme eines Tastendruckes und Warten. - falls die Backentaschen/der Behälter leer sind/ist, wird das Programm mit entsprechender Fehlermel­ dung abgebrochen. - falls auf der Kachel schon ein Korn/Werkstück oder mehrere Körner/Werkstücke liegen, wird zu ihnen eines addiert und von denen in den Backentaschen/ im Behälter subtrahiert. Der Bildschirm ändert sich nicht. - falls noch kein Korn/Werkstück auf dieser Kachel liegt, wird auf dem Bildschirm ein (" o") ausgegeben und von den Körnern/Werkstücken in den Backenta­ schen/im Behälter ein Korn/Werkstück subtrahiert. #on("u")#'vorn frei'#off("u")# - liefert den Wahrheitswert TRUE, wenn vor dem Ham­ ster/ Roboter keine Hinderniskachel liegt, #on("u")#also auch dann, wenn der Hamster/Roboter im Begriff ist, über die Landschafts-/Arbeitsfeldgrenze (den Bildschirmrand) hinauszulaufen!#off("u")# Wenn vor dem Ham­ ster/Roboter eine Hinderniskachel liegt, wird der Wahrheitswert FALSE geliefert. #on("u")#'links frei'#off("u")# - liefert den Wahrheitswert TRUE, wenn in Laufrich­ tung links vom Hamster/ Roboter keine Hindernis­ kachel liegt, #on("u")#also auch dann, wenn links vom Ham­ ster/Roboter die Landschafts-/Arbeitsfeldgrenze (der Bildschirmrand) ist!#off("u")# Wenn links vom Hamster/ Roboter eine Hinderniskachel liegt, wird der Wahr­ heitswert FALSE geliefert. #on("u")#'rechts frei'#off("u")# - liefert den Wahrheitswert TRUE, wenn in Laufrich­ tung rechts vom Hamster/Roboter keine Hindernis­ kachel liegt, #on("u")#also auch dann, wenn rechts vom Ham­ ster/Roboter die Landschafts-/Arbeitsfeldgrenze (der Bildschirmrand) ist!#off("u")# Wenn rechts vom Hamster/ Roboter eine Hinderniskachel liegt, wird der Wahr­ heitswert FALSE geliefert. #on("u")#'hinten frei'#off("u")# - liefert den Wahrheitswert TRUE, wenn in Laufrich­ tung hinter dem Hamster/Roboter keine Hindernis­ kachel liegt, #on("u")#also auch dann, wenn hinter dem Ham­ ster/Roboter die Landschafts-/Arbeitsfeldgrenze (der Bildschirmrand) ist!#off("u")# Wenn hinter dem Hamster/ Roboter eine Hinderniskachel liegt, wird der Wahr­ heitswert FALSE geliefert. #on("u")#'korn da' und 'werkstueck da'#off("u")# - liefern den Wahrheitswert TRUE, wenn auf der Kachel, auf der der Hamster/Roboter steht, minde­ stens ein Korn/Werkstück liegt. Ansonsten wird der Wahrheitswert FALSE geliefert. #on("u")#'korn vorn' und 'werkstueck vorn'#off("u")# - liefern den Wahrheitswert TRUE, wenn auf der Kachel, die in Laufrichtung vor dem Hamster/Robo­ ter liegt, mindestens ein Korn/Werkstück liegt. An­ sonsten wird der Wahrheitswert FALSE geliefert. - Zur "Untersuchung" wird die vor ihm liegende Kachel - sofern dort kein Hindernis ist - von ihm betreten. Wenn er im Begriff ist, aus der Land­ schaft/dem Arbeitsfeld herauszulaufen, wird das Programm mit entsprechender Fehlermeldung abge­ brochen. #on("u")#'korn links' und 'werkstueck links'#off("u")# - liefern den Wahrheitswert TRUE, wenn auf der Kachel, die in Laufrichtung links vom Hamster/ Roboter liegt, mindestens ein Korn/Werkstück liegt. Ansonsten wird der Wahrheitswert FALSE geliefert. - Zur "Untersuchung" wird die links neben ihm lie­ gende Kachel - sofern dort kein Hindernis ist - von ihm betreten. Wenn er im Begriff ist, aus der Land­ schaft/dem Arbeitsfeld herauszulaufen, wird das Programm mit entsprechender Fehlermeldung abge­ brochen. #on("u")#'korn rechts' und 'werkstueck rechts'#off("u")# - liefern den Wahrheitswert TRUE, wenn auf der Kachel, die in Laufrichtung rechts vom Hamster/ Roboter liegt, mindestens ein Korn/Werkstück liegt. Ansonsten wird der Wahrheitswert FALSE geliefert. - Zur "Untersuchung" wird die rechts neben ihm lie­ gende Kachel - sofern dort kein Hindernis ist - von ihm betreten. Wenn er im Begriff ist, aus der Land­ schaft/dem Arbeitsfeld herauszulaufen, wird das Programm mit entsprechender Fehlermeldung abge­ brochen. #on("u")#'korn hinten' und 'werkstueck hinten'#off("u")# - liefern den Wahrheitswert TRUE, wenn auf der Kachel, die in Laufrichtung hinter dem Hamster/ Roboter liegt, mindestens ein Korn/Werkstück liegt. Ansonsten wird der Wahrheitswert FALSE geliefert. - Zur "Untersuchung" wird die hinter ihm liegende Kachel - sofern dort kein Hindernis ist - von ihm betreten. Wenn er im Begriff ist, aus der Land­ schaft/dem Arbeitsfeld herauszulaufen, wird das Programm mit entsprechender Fehlermeldung abge­ brochen. #on("u")#'backen leer' und 'behaelter leer'#off("u")# - liefern den Wahrheitswert TRUE, wenn kein Korn/ kein Werkstück in den Backentaschen/im Behälter notiert ist. Ansonsten wird der Wahrheitswert FALSE geliefert.