C 64
Spiel

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
Programmbeschreibung
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
Listing »Super Memory«
PDF Diesen Artikel als PDF herunterladen
Mastodon Diesen Artikel auf Mastodon teilen
← Vorheriger ArtikelNächster Artikel →