summaryrefslogtreecommitdiff
path: root/doc/hamster/A5 - Doku: gs-Herbert und Robbi - Kapitel 5
blob: bb4a67be5262c6a0be0dd69e936969f567988ee7 (plain)
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.