1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
|
#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.
|