Superhirn oder MasterMind im englischen kennt eigentlich jeder ! Ein Spieler gibt einen Code vor, den der andere Spieler herausfinden muß. Einzige Anhaltspunkte für diese Aufgabe sind die schwarzen und weißen Stifte, die der erste Spieler als Hinweis vergibt. Einen Schwarzen bekommt man für eine richtige Farbe an der richtigen Stelle. Einen Weißen gibt es, wenn die Farbe zwar richtig, aber an der falschen Position ist. Hier werden anstatt verschiedener Farbsteine Ziffern verwendet. Den Part des ersten Spielers, der den Code vorgibt und die Versuche des zweiten Spielers bewertet, übernimmt der HP-41CX. Dies hat zwei Vorteile : zum einen ist man nicht auf eine zweite willige Person angewiesen und zum anderen macht der HP-41CX garantiert keine Fehler bei der Bewertung ! :-)
Beispiel :
Die herauszufindende Kombination soll aus 4 Ziffern aufgebaut sein und die Ziffern 0 bis 5 enthalten dürfen. Jede Ziffer soll nur einmal im Code vorkommen dürfen. Ein möglicher Spielablauf könnte dann der folgende sein :
Versuch | Schwarze | Weiße | Kombination |
Spielablauf :
Nach Programmstart muß zunächst einmal auf die Eingabeaufforderung hin ein Keim für den Zufallszahlen-Generator eingegeben werden. Der Spieler kann nun zwischen einem Code aus 4, 5 oder 6 Ziffern wählen. Nach der Aufforderung FELDERZAHL ? muß die entsprechende Zahl eingegeben werden. Die Ziffern können aus dem Bereich von 0 bis 9 gewählt werden, beginnen aber immer bei 0 (einschließlich) aufwärts. Nach der Aufforderung VON 0-.. ? muß der Spieler die Obergrenze (einschließlich) eintippen. Danach wird er gefragt, ob die Ziffern nur einmal im Code vorkommen dürfen sollen oder auch mehrmals. Sollen sie nur einmal im Code enthalten sein, so antwortet der Spieler mit J, anderenfalls mit N. Nun rechnet der HP-41CX die Anzahl der möglichen Kombinationen aus und zeigt sie an. Danach wird der vom Spieler herauszufindende Code erzeugt, in der Anzeige erscheint währenddessen MISCHEN. Ist der Code fertig erstellt, erscheint CODE FERTIG in der Anzeige.
Gleich darauf erscheint EINGABE in der Anzeige und die Stoppuhr wird gestartet. Nun muß der Spieler seinen Code eintippen und R/S drücken. Die Stoppuhr wird nun angehalten und der HP-41CX überprüft den eingegebenen Code auf Richtigkeit. Ist dieser Vorgang abgeschlossen, ertönt der BEEP und ERGEBNIS : erscheint in der Anzeige. Nach Drücken von R/S werden die Zahl der schwarzen und dann der weißen Stifte angezeigt. Danach erscheint wieder die Eingabeaufforderung in der Anzeige und der Spieler muß den nächsten Code eingeben.
Hat der Spieler den Code herausgefunden, werden die Zahl der benötigten Versuche und die benötigte Zeit angezeigt. Hat der Spieler aufgegeben - kann ich mir bei Euch gar nicht vorstellen ! ;-) - oder keine weitere Zeit mehr, so kann er sich den Code ausgeben lassen durch XEQ 40. Der HP-41CX erwartet dann die Eingabe eines Codes. War der Code richtig, erscheint die Kombination in der Anzeige, ansonsten beendet der HP-41CX das Programm und löscht alle Daten.
Ihr wollt den Code wissen ??? ;-) . . . Einfach nur den Quelltext aufmerksam lesen, dann kommt Ihr darauf, welcher Code eingetippt werden muß ! ;-)
Programmlisting :
001 LBL "SPIEL5" 002 " SUPERHIRN" 003 AVIEW 004 ,037 005 CLRGX 006 RCLFLAG 007 STO 08 008 " " 009 RCL [ 010 STO d 011 , 012 SETSW 013 SIGN 014 STO 12 015 2 016 STO 13 017 3 018 STO 14 019 4 020 STO 15 021 5 022 STO 16 023 11 024 STO 01 025 16 026 STO 32 027 17 028 STO 31 029 23 030 STO 10 031 48 032 STO 23 033 STO 24 034 STO 25 035 STO 26 036 STO 27 037 STO 28 038 LBL 18 039 CF 22 040 " ZZG-KEIM :" 041 PROMPT 042 FC? 22 043 GTO 18 044 STO 09 045 LBL 07 046 CF 22 047 " 4-6 FELDER" 048 AVIEW 049 PSE 050 6 051 "FELDERZAHL ?" 052 PROMPT 053 FC? 22 054 GTO 07 055 INT 056 X>Y? 057 GTO 07 058 3 059 X<>Y? 060 X<=Y? 061 GTO 07 062 STO 33 063 ST+ 31 064 ST+ 32 065 DSE X 066 E3 067 / 068 STO 37 069 LBL 06 070 CF 22 071 " ZAHLEN MAX." 072 "VON 0-9" 073 AVIEW 074 PSE 075 9 076 " VON 0-.. ?" 077 PROMPT 078 FC? 22 079 GTO 06 080 INT 081 ABS 082 X>Y? 083 GTO 06 084 2 085 X<>Y? 086 X<=Y? 087 GTO 06 088 STO 36 089 ISG X 090 "" (Leeranweisung) 091 STO 34 092 LBL 17 093 CF 23 094 " ZAHLEN" 095 AVIEW 096 PSE 097 " IMMER NUR 1-M" 098 "AL ? J/N :" 099 AON 100 PROMPT 101 AOFF 102 FC? 23 103 GTO 17 104 74 105 ATOX 106 X=Y? 107 SF 01 108 FS? 01 109 GTO 08 110 RCL 36 111 ISG X 112 "" (Leeranweisung) 113 RCL 33 114 Y^X 115 GTO 10 116 LBL 08 117 ISG 36 118 "" (Leeranweisung) 119 RCL 36 120 RCL 33 121 - 122 E3 123 / 124 ST+ 36 125 E 126 LBL 09 127 RCL 36 128 INT 129 * 130 DSE 36 131 GTO 09 132 LBL 10 133 " MOEGLICHE " 134 "KOMBINATIONEN:" 135 AVIEW 136 PSE 137 VIEW X 138 PSE 139 PSE 140 LBL 00 141 " MISCHEN" 142 AVIEW 143 LBL 01 144 RCL 09 145 R-D 146 FRC 147 R-D 148 FRC 149 STO 09 150 E5 151 * 152 INT 153 RCL 34 154 MOD 155 FS? 01 156 GTO 03 157 LBL 05 158 ST+ IND 10 159 ISG 10 160 "" (Leeranweisung) 161 ISG 37 162 GTO 01 163 GTO 04 164 LBL 03 165 5 166 + 167 FS? IND X 168 GTO 01 169 SF IND X 170 5 171 - 172 GTO 05 173 LBL 40 174 STOPSW 175 CLA 176 AON 177 STOP 178 AOFF 179 6 180 ALENG 181 XY? ungleich 182 GTO 41 183 ATOX 184 48 185 - 186 DATE 187 DOW 188 XY? ungleich 189 GTO 41 190 SF 00 191 "CODE : " 192 23 193 STO 35 194 STO 31 195 RCL 33 196 ST+ 31 197 GTO 42 198 LBL 43 199 AVIEW 200 STOP 201 GTO 41 202 LBL 04 203 CF 27 204 "CODE FERTIG" 205 AVIEW 206 PSE 207 17 208 STO 00 209 RCL 08 210 STOFLAG 211 LBL 31 212 AON 213 TONE 7 214 RUNSW 215 " EINGABE :" 216 PROMPT 217 STOPSW 218 AOFF 219 17 220 STO 35 221 LBL 13 222 ATOX 223 STO IND 35 224 ISG 35 225 "" (Leeranweisung) 226 RCL 31 227 RCL 35 228 X<Y? 229 GTO 13 230 6 231 ST+ 31 232 LBL 11 233 23 234 STO 35 235 CLA 236 LBL 42 237 RCL IND 35 238 XTOA 239 ISG 35 240 "" (Leeranweisung) 241 RCL 31 242 RCL 35 243 X<Y? 244 GTO 42 245 FS? 00 246 GTO 43 247 SIGN 248 STO 07 249 RCL IND 01 250 AROT 251 RCL IND 00 252 POSA 253 STO 04 254 X<0? 255 GTO 14 256 X=0? 257 GTO 15 258 RCL 04 259 STO 30 260 AROT 261 RCL 00 262 RCL 04 263 + 264 STO 05 265 RCL 32 266 RCL 05 267 X>Y? 268 XEQ 12 269 RCL IND 05 270 POSA 271 X=0? 272 GTO 20 273 RCL 05 274 12 275 - 276 STO 05 277 FS? IND 05 278 GTO 20 279 SF IND 05 280 GTO 16 281 LBL 14 282 ISG 00 283 "" (Leeranweisung) 284 ISG 01 285 "" (Leeranweisung) 286 RCL 32 287 RCL 00 288 X>Y? 289 GTO 30 290 GTO 11 291 LBL 15 292 ISG 02 293 "" (Leeranweisung) 294 GTO 14 295 LBL 16 296 ISG 03 297 "" (Leeranweisung) 298 GTO 14 299 LBL 12 300 RCL 33 301 ST- 05 302 RTN 303 LBL 20 304 E 305 ST+ 30 306 AROT 307 RCL IND 00 308 POSA 309 STO 06 310 ST+ 30 311 ST+ 04 312 RCL 33 313 DSE X 314 "" (Leeranweisung) 315 RCL 30 316 X>Y? 317 GTO 14 318 RCL 06 319 AROT 320 RCL 00 321 RCL 04 322 + 323 RCL 07 324 + 325 STO 05 326 RCL 32 327 RCL 05 328 X>Y? 329 XEQ 12 330 RCL IND 05 331 POSA 332 X=0? 333 GTO 21 334 RCL 05 335 12 336 - 337 STO 05 338 FS? IND 05 339 GTO 21 340 SF IND 05 341 GTO 16 342 LBL 21 343 ISG 07 344 "" (Leeranweisung) 345 GTO 20 346 LBL 30 347 ISG 29 348 "" (Leeranweisung) 349 RCL 08 350 STOFLAG 351 17 352 STO 00 353 11 354 STO 01 355 BEEP 356 " ERGEBNIS :" 357 AVIEW 358 STOP 359 FIX 0 360 CF 29 361 "SCHWARZE : " 362 ARCL 02 363 AVIEW 364 PSE 365 "WEISSE : " 366 ARCL 03 367 AVIEW 368 PSE 369 CLA 370 RCL 33 371 RCL 02 372 X=Y? 373 GTO 10 374 2,003 375 CLRGX 376 6 377 ST- 31 378 GTO 31 379 LBL 10 380 "VERSUCHE : " 381 ARCL 29 382 AVIEW 383 PSE 384 FIX 4 385 SF 29 386 " BENOETIGTE" 387 AVIEW 388 PSE 389 "ZEIT IN STD:" 390 AVIEW 391 PSE 392 RCLSW 393 VIEW X 394 LBL 41 395 RCL 08 396 STOFLAG 397 ,037 398 CLRGX 399 CLST 400 SETSW 401 CLA 402 END
Zurück zu Ausgewählte (Spiel-)Programme für den HP-41CX
Zurück zu Naturwissenschaften und mathematische Spielereien
Kai Schröder, 30.5.2001