Gehirntraining mit Supermemory
Den Schwierigkeitsgrad dieses kniffligen Denkspieles können Sie selbst bestimmmen. Doch Vorsicht! Es ist nicht so einfach wie es aussieht.
»Super Memory« ist ein Denkspiel für eine Person, die gegen sich selbst spielt. Aufgabe des Spielers ist es, Zahlen in einem 3 x 3-Kästchen großen Feld so zu ändern, daß sie zum Schluß alle den gleichen Wert haben. Die Schwierigkeit besteht nun darin, daß nur bestimmte Zahlengruppen verändert werden können. Diese insgesamt 9 Zahlengruppen können außerdem nur um einen Wert erhöht werden.
Wenn Sie das Programm starten, erscheint als erstes ein kleiner Vorspann mit der Anleitung zu dem Spiel. Nach dem Drücken einer Taste fragt Sie der Computer welche Zahl zum Schluß in den Kästchen stehen soll. Diese Zahl kann zwischen null und neun liegen. Angenommen Sie drücken nun die Zahl Acht (RETURN), fragt Sie der Computer als nächstes wieviele Schritte Sie minimal benötigen sollen, damit im Anzeigenfeld nur Achten stehen. Sie können nun einen bis unendlich viele Schritte angeben. Geben Sie nun als Beispiel eine Eins an (was die niedrigste Schwierigkeitsstufe bedeutet) erscheint nach einer ganz kurzen Denkpause des Computers das Spielfeld. Sie sehen nun in blauer Farbe die neun Zahlengruppen und die Buchstaben die ihnen zugeordnet sind. Der Buchstabe G bedeutet nun zum Beispiel, daß alle Zahlen in dem Feld, die dem Buchstaben G zugeordnet sind, um eins erhöht werden.
Da Sie bei dem Menüpunkt Schritte eine Eins angegeben haben, sind nun im Feld einige Siebener. Diese Siebener stehen in einem bestimmten Muster. Dieses Muster muß auch eines von den Blauen sein! Haben Sie dieses gefunden, drücken Sie die Taste die davor steht. Wenn die beiden Muster gleich waren, haben Sie gewonnen. Der Computer fragt Sie nun noch ob Sie noch ein Spiel spielen wollen. Spielen Sie noch eins! Tippen Sie nun bei »Anzahl der Schritte« eine Zwei ein, benötigen Sie schon zwei Schritte bis alle Zahlen im Feld gleich sind. Wie Sie sehen wird es nun bereits schwieriger. Durch Drücken der F1-Taste können Sie während des Spiels ein neues beginnen. Durch Drücken der F7-Taste können Sie bei einem laufenden Spiel alle Schritte zurücksetzen.
(Bernd Arnold/rg)0—11 | Variablen — Bildschirm löschen, Cursorfarbe auf Braun, Bildschirmrahmen auf Gelb, Hintergrundfarbe auf Orange |
13—40 | Nach Endzahl und Schrittzahl fragen, Variablen für Anzeigefeld definieren, Sprung zu Zufallszahlen erzeugen |
100—240 | Bildschirm löschen, Anzeigefeld aufbauen (dies wird auch als Unterprogramm benützt) |
1000—1017 | Schritte — Endzahl anzeigen, F-Tasten erklären |
1020—1121 | Tastaturabfrage |
1122—1130 | Prüfen ob alle Zahlen im Feld gleich sind, wenn »ja« dann Spiel zu Ende, wenn »nein« erneut Tastaturabfrage |
1135—1222 | Unterprogramme: Die verschiedenen Zahlen werden nach Tastendruck um eins erhöht, Sprung danach zu »Anzeigefeld aufbauen«, damit dort die Zahlen erneuert werden, Sprung danach zur Tastaturabfrage |
1224—2010 | Zufallszahlen erzeugen, bestimmen welche Zufallszahlen erzeugt werden, wieviele; sind genug erzeugt, dann Sprung zum Unterprogramm, das sich die Zahlen merkt, damit sie nach Drücken der F7-Taste wieder erscheinen |
2020—2102 | Unterprogramme für die einzelnen Zufallszahlen, überprüfen ob einzelne Zahlen größer als neun sind, wenn ja, dann werden daraus Nuller |
2103—3080 | Spiel gewonnen, Schlußgrafik, Anzahl der Schritte ausgeben, fragen ob noch ein Spiel, wenn nein, Ende |
4000—4010 | Unterprogramm Zufallszahlen merken, Sprung zu »Anzeigefeld aufbauen, Sprung zu Tastaturabfrage« |
4100—4110 | Unterprogramm »Schritte« zurücksetzen, Sprung zu »Anzeigefeld aufbauen«, Sprung zu »Tastaturabfrage« |
4500—4610 | Titelbild erzeugen, auf Copyright hinweisen |
4620—4710 | Erste Anleitungsseite erzeugen, nach Drücken von RETURN fortfahren |
4720—4810 | Zweite Anleitungsseite erzeugen, nach Tastendruck Spiel beginnen |
0 goto 9 1 *********************** 2 * super memory * 3 * von bernd arnold * 4 * schulenburg str.6 * 5 * 8500 nuernberg 50 * 6 * tel 804567 * 7 *********************** 9 clr:rem alle variablen loeschen 10 poke53281,8:poke53280,7 11 print"{clr}{brn}" 12 gosub 4500:rem springt zur einleitung 13 print"{clr}{brn}":clr 14 input"{down}bitte die endzahl eingeben ";a:aa=a:a=a+48 15 if a<58 then goto 17:rem zahl auf korrektheit ueberpruefen 16 print"{down}die zahl darf nicht groesser als 9 sein":goto 10 17 print"{down}bitte die anzahl der schritte eingeben ":inputb 20 a(1)=a:a(2)=a:a(3)=a:a(4)=a:a(5)=a:a(6)=a:a(7)=a:a(8)=a:a(9)=a:s=-1:b=b+1 40 goto 2000:rem zufallszahlen erzeugen 90 rem bildschirmgrafik aufbauen 100 print"{clr}{down}{down}{rght}{rght}{rght}{rght}{rght}{rght}{down}{down}{down}{down}{down}{down}{down}{down}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{wht}"; 110 printchr$(176)+chr$(99)+chr$(178)+chr$(99)+chr$(178)+chr$(99)+chr$(174); 120 print"{down}{left}{left}{left}{left}{left}{left}{left}";:printchr$(98)+chr$(a(1))+chr$(98)+chr$(a(2))+chr$(98); 130 printchr$(a(3))+chr$(125);:print"{down}{left}{left}{left}{left}{left}{left}{left}";:printchr$(171)+chr$(99); 140 printchr$(123)+chr$(99)+chr$(123)+chr$(99)+chr$(179);:print"{down}{left}{left}{left}{left}{left}{left}{left}"; 150 printchr$(98)+chr$(a(4))+chr$(98)+chr$(a(5))+chr$(98)+chr$(a(6))+chr$(98); 160 print"{down}{left}{left}{left}{left}{left}{left}{left}";:printchr$(171)+chr$(99)+chr$(123)+chr$(99)+chr$(123); 170 printchr$(99)+chr$(179);:print"{down}{left}{left}{left}{left}{left}{left}{left}";:printchr$(98)+chr$(a(7)); 180 printchr$(98)+chr$(a(8))+chr$(98)+chr$(a(9))+chr$(98);:print"{down}{left}{left}{left}{left}{left}{left}{left}"; 190 printchr$(173)+chr$(99)+chr$(177)+chr$(99)+chr$(177)+chr$(99)+chr$(189) 200 print"{blu}{rght}{rght}{down}{down}{down}{down}f={up}{rvon} {down}{left} {down}{left} {up} {rvof}{rght}{rght}{rght}h={rvon} {up} {down}{left} {down}{left} {rvof}{rght}{rght}{rght}{up}g={rvon} {up}{left}{left} {down}{down}{left} {rvof}{up}{rght}{rght}{rght}"; 205 print"t={up}{rvon} {down}{left}{left} {down}{left} {rvof}{up}{rght}{rght}{rght}"; 210 print"v={down}{rvon} {up}{left}{left} {up}{left} ":print"{up}{up}{up}{up}{up}{up}{up}{up}{up}{up}{rght}{rght}r={up}{rvon} {down}{left}{left}{left} {down}{left} {rvof}{down}{down}" 220 print"{rght}{rght}c={down}{rvon} {left}{left}{left}{up} {up}{left} {rvof}{up}{up}{up}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}y={up}{rvon} {down}{left} {down}{left} {rvof}{down}{down}{down}{left}{left}"; 230 print"{left}{left}{left}b={up}{rght}{rght}{rvon} {down}{left} {down}{left}{left}{left} " 240 return 250 rem ******************************* 1000 print"{home}":s=s+1:rem s=schritte 1010 print"{brn} bitte das feld eingeben, das sie ver- aendern wollen" 1015 print"{rght}{down}{down}schritte:"s 1016 printtab(18)"{up}endzahl lautet "aa 1017 print"{down}{rght}f1=neues spiel":print" f7=alle schritte zurueck" 1020 geta$:rem tastaturabfrage 1025 ifa$="{f7}"then4100:rem "{f7}" = f7 1030 ifa$="r"then1140 1050 ifa$="t"then1150 1060 ifa$="y"then1160 1070 ifa$="f"then1170 1080 ifa$="g"then1180 1090 ifa$="h"then1190 1100 ifa$="c"then1200 1110 ifa$="v"then1210 1120 ifa$="b"then1220 1121 ifa$="{f1}"then13:rem "{f1}" = f1 1122 fort=1to9:ifa(t)=a then x=x+1:rem ueberpruefen ob alle zahlen gleich sind 1123 nextt 1124 if x=9 then 3000:rem wenn ja dann gradulation 1125 x=0 1130 goto 1020 1135 rem r-zahlen um 1 erhoehen 1140 a(1)=a(1)+1:a(2)=a(2)+1:a(3)=a(3)+1:a(4)=a(4)+1:a(7)=a(7)+1 1141 fort=1to9:ifa(t)=58thena(t)=48:rem wenn zahl groesser als 9 dann auf 0 1142 nextt:gosub 100:goto 1000 1143 rem t-zahlen um 1 erhoehen 1150 a(1)=a(1)+1:a(2)=a(2)+1:a(3)=a(3)+1:a(5)=a(5)+1:a(8)=a(8)+1 1151 fort=1to9:ifa(t)=58thena(t)=48 1152 nextt:gosub 100:goto 1000 1153 rem y-zahlen um 1 erhoehen 1160 a(1)=a(1)+1:a(2)=a(2)+1:a(3)=a(3)+1:a(6)=a(6)+1:a(9)=a(9)+1 1161 fort=1to9:ifa(t)=58thena(t)=48 1162 nextt:gosub 100:goto 1000 1163 rem f-zahlen um 1 erhoehen 1170 a(1)=a(1)+1:a(4)=a(4)+1:a(5)=a(5)+1:a(6)=a(6)+1:a(7)=a(7)+1 1171 fort=1to9:ifa(t)=58thena(t)=48 1172 nextt:gosub 100:goto 1000 1173 rem g-zahlen um 1 erhoehen 1180 a(2)=a(2)+1:a(4)=a(4)+1:a(5)=a(5)+1:a(6)=a(6)+1:a(8)=a(8)+1 1181 fort=1to9:ifa(t)=58thena(t)=48 1182 nextt:gosub 100:goto 1000 1183 rem h-zahlen um 1 erhoehen 1190 a(3)=a(3)+1:a(4)=a(4)+1:a(5)=a(5)+1:a(6)=a(6)+1:a(9)=a(9)+1 1191 fort=1to9:ifa(t)=58thena(t)=48 1192 nextt:gosub 100:goto 1000 1193 rem c-zahlen um 1 erhoehen 1200 a(1)=a(1)+1:a(4)=a(4)+1:a(7)=a(7)+1:a(8)=a(8)+1:a(9)=a(9)+1 1201 fort=1to9:ifa(t)=58thena(t)=48 1202 nextt:gosub 100:goto 1000 1203 rem v-zahlen um 1 erhoehen 1210 a(2)=a(2)+1:a(5)=a(5)+1:a(7)=a(7)+1:a(8)=a(8)+1:a(9)=a(9)+1 1211 fort=1to9:ifa(t)=58thena(t)=48 1212 nextt:gosub 100:goto 1000 1213 rem b-zahlen um 1 erhoehen 1220 a(3)=a(3)+1:a(6)=a(6)+1:a(7)=a(7)+1:a(8)=a(8)+1:a(9)=a(9)+1 1221 fort=1to9:ifa(t)=58thena(t)=48 1222 nextt:gosub 100:goto 1000:rem zahlen in grafik erneuern 1223 rem ****************************** 1224 rem zufallszahlen erzeugen 2000 print"{clr}{home}{down}{rght}{rght}{rght}{rght}{rght}{rght}{rght}einen moment bitte!" 2001 z=int(9*rnd(1))+1:bb=bb+1 2002 if bb=b then 4000:rem kontrolle ob genug zufallszahlen erzeugt sind 2003 goto 2010 2010 on z goto 2020,2030,2040,2050,2060,2070,2080,2090,2100 2020 a(1)=a(1)-1:a(2)=a(2)-1:a(3)=a(3)-1:a(4)=a(4)-1:a(7)=a(7)-1 2021 fort=1to9:ifa(t)=47thena(t)=57 2022 nextt:goto 2001 2023 rem ****************************** 2030 a(1)=a(1)-1:a(2)=a(2)-1:a(3)=a(3)-1:a(5)=a(5)-1:a(8)=a(8)-1 2031 fort=1to9:ifa(t)=47thena(t)=57 2032 nextt:goto 2001 2033 rem ****************************** 2040 a(1)=a(1)-1:a(2)=a(2)-1:a(3)=a(3)-1:a(6)=a(6)-1:a(9)=a(9)-1 2041 fort=1to9:ifa(t)=47thena(t)=57 2042 nextt:goto 2001 2043 rem ****************************** 2050 a(1)=a(1)-1:a(4)=a(4)-1:a(5)=a(5)-1:a(6)=a(6)-1:a(7)=a(7)-1 2051 fort=1to9:ifa(t)=47thena(t)=57 2052 nextt:goto 2001 2053 rem ****************************** 2060 a(2)=a(2)-1:a(4)=a(4)-1:a(5)=a(5)-1:a(6)=a(6)-1:a(8)=a(8)-1 2061 fort=1to9:ifa(t)=47thena(t)=57 2062 nextt:goto 2001 2063 rem ****************************** 2070 a(3)=a(3)-1:a(4)=a(4)-1:a(5)=a(5)-1:a(6)=a(6)-1:a(9)=a(9)-1 2071 fort=1to9:ifa(t)=47thena(t)=57 2072 nextt:goto 2001 2073 rem ****************************** 2080 a(1)=a(1)-1:a(4)=a(4)-1:a(7)=a(7)-1:a(8)=a(8)-1:a(9)=a(9)-1 2081 fort=1to9:ifa(t)=47thena(t)=57 2082 nextt:goto 2001 2083 rem ****************************** 2090 a(2)=a(2)-1:a(5)=a(5)-1:a(7)=a(7)-1:a(8)=a(8)-1:a(9)=a(9)-1 2091 fort=1to9:ifa(t)=47thena(t)=57 2092 nextt:goto 2001 2093 rem ****************************** 2100 a(3)=a(3)-1:a(6)=a(6)-1:a(7)=a(7)-1:a(8)=a(8)-1:a(9)=a(9)-1 2101 fort=1to9:ifa(t)=47thena(t)=57 2102 nextt:goto 2001 2103 rem spiel gewonnen : schlussgrafik 3000 print"{clr}" 3010 print" graduliere sie haben das problem in"s:print"{down} schritten geloest" 3020 if s<=bb-1 then 3040 3030 goto 3060 3040 print"{down} das ist die geringste anzahl von" 3050 print"{down} schritten die moeglich war!" 3060 print"{down}{down}{down} wollen sie noch ein spiel"; 3070 inputa$:ifa$="j"then goto13 3080 print"{clr}{down}{rght}schade":end 4000 fort=1to9:b(t)=a(t):nextt 4010 gosub 100:goto 1000 4100 fort=1to9:a(t)=b(t):nextt 4110 s=-1:gosub 100:goto 1000 4500 rem titelbild erzeugen 4510 print"{clr}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}"; 4520 print"bernd arnold{down}{down}{left}{left}{left}{left}{left}{left}{left}{left}{left}{left}{left}{left}presentiert" 4530 fort=0to2400:nextt 4540 print"{clr}{down}{down}{down}{rght}{down}{down}{down}{down}{down}{down}{down}{down}{down}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}"; 4550 print"super memory" 4560 fort=0to2400:nextt 4570 print"{clr}{down}{rght}64'er 64'er" 4580 print"{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}"; 4590 print"produziert{down}{left}{left}{left}{left}{left}{left}{left}{left}{left}{left}20.10.1984" 4600 print"{down}{down}{down}{down}{down}{down}{down}{down}{down}{rght}64'er 64'er" 4610 fort=0to2400:nextt 4620 print"{clr}" 4630 print"dies ist ein denkspiel fuer jedes alter." 4640 print"{down} sinn des spieles ist es, zahlen in{down} einem 3*3 kaestchen "; 4650 print"grossen feld so zu{down} manipulieren dass zum schluss alle"; 4660 print" den {down} gleichen wert haben.{down}" 4670 print" durch druecken spezieller tasten die{down} spaeter angezeigt werden,"; 4680 print" koennen be-{down} stimmte zahlen um eins erhoeht werden.{down}" 4690 print" welche zahlen das sind koennen sie an {down} den mustern erkennen." 4700 print"{down}{down}{rght}{rght}{rght}{rght}weiter mit return" 4710 geta$:ifa$<>chr$(13)then4710 4720 print"{clr}{down}" 4730 print" sie koennen waehlen welche zahl zum {down} schluss einmal im "; 4740 print"kaestchen stehen{down} soll.{down}" 4750 print" auserdem koennen sie waehlen wieviele {down} schritte sie mindestens "; 4760 print"dazu benoeti-{down} gen." 4770 print"{down}{down}{down} ps: wenn ihnen das spiel schwer er- scheinen sollte, "; 4780 print"macht nichts es ist noch kein meister vom himmel gefallen!" 4790 print"{down}{down} zum spielen bitte taste druecken" 4800 geta$:ifa$=""then4800 4810 return