Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
76 KAPITEL 9. AUSWAHLANWEISUNGEN<br />
Testbefehl<br />
9.1.2 Semantik<br />
vorn_frei<br />
maul_leer<br />
korn_da<br />
Abbildung 9.1: Syntaxdiagramm: Hamster-Testbefehl<br />
Die drei Testbefehle der Hamstersprache haben die folgende Bedeutung:<br />
vorn frei(): Liefert den Wert true, falls sich auf der Kacheln in Blickrichtung vor dem<br />
Hamster keine Mauer be ndet. Ist die Kachel durch eine Mauer blockiert, dann wird der<br />
Wert false geliefert.<br />
maul leer(): Liefert den Wert true, falls der Hamster ein oder mehrere Korner im Maul<br />
hat. Be nden sichkeine Korner im Maul des Hamsters, dann wird der Wert false geliefert.<br />
korn da(): Liefert den Wert true, falls auf der Kachel, auf der der Hamster gerade steht,<br />
ein oder mehrere Korner liegen. Be ndet sich kein Korn auf der Kachel, dann wird der<br />
Wert false geliefert.<br />
Beachten Sie, da die Ausfuhrung von Testbefehlen zunachst keine unmittelbare Auswirkung<br />
auf den Zustand des Kornfeldes hat.<br />
9.1.3 Beispiele<br />
Schauen Sie sich Abbildung 9.2 an. Wird dem Hamster in der in der Abbildung links dargestellten<br />
Situation der Testbefehl vorn frei() gegeben, dann liefert der Testbefehl den booleschen<br />
Wert true. Dahingegen hat ein Aufruf des Testbefehls vorn frei() in der im rechten Teil der<br />
Abbildung skizzierten Situation die Ruckgabe des Wertes false zur Folge.<br />
# #######<br />
# # # #<br />
# #######<br />
# # # #<br />
# # # # # #<br />
#<br />
#<br />
> # #<br />
# #<br />
#<br />
#<br />
> # #<br />
# #<br />
# ####### # #######<br />
Abbildung 9.2: Testbefehle<br />
(<br />
)