SUPERCODE: Ein Denkspiel

Bei diesem Denkspiel geht es darum einen Geheimcode, den der Computer erzeugt, zu erraten. Jeder Versuch wird dabei bewertet, das heißt, daß angegeben wird wieviel Zahlen mit denen des Geheimcodes in Wert und Stelle übereinstimmen. Das Programm malt dann die entsprechende Anzahl von Kästchen ’SCHWARZ’ aus. Wenn die Stelle der Zahl mit der des Geheimcodes nicht übereinstimmt, die Zahl aber an einer anderen Stelle vorhanden ist, so wird dies mit ’WEISSEN’ Kästchen angezeigt. Wenn Sie Ihren Code eingegeben haben, fragt das Programm, ob Sie diesen Code nehmen wollen. Sollten Sie diese Frage mit N bzw. n beantworten, dann bleibt zwar der ’alte’ Code auf dem Bildschirm stehen, doch sie können bzw. müssen nun erneut einen Code eintippen. Für das Erraten des Geheimcodes haben Sie zehn Versuche zur Verfügung, wenn Sie den Code bis dahin erraten haben, bekommen Sie dafür einen Tusch gespielt. Sollten Sie den Code mit dem zehnten Versuch nicht erraten haben hört das Programm auf und gibt einen Text und den Code aus. Außerdem können Sie die Runde jederzeit abbrechen wenn Sie keine Lust mehr haben. Drücken Sie dafür einfach die Taste ’E’. Die Anzahl der Versuche mag zwar gering erscheinen, doch bei genauer Analyse der ’Schwarzen’ und der ’Weißen’ erhält man genug Zusatzinformationen, um den Code schnell zu bestimmen.

Beim Starten des Programms (wobei man immer im ’EDIT’-Modus sein sollte!), wird zuerst nach der Anzahl der Zahlen des Geheimcodes gefragt. Man kann hier bis zu sechs Zahlen wählen. Damit läßt sich bei einem entsprechenden Zahlenbereich ein hoher Schwierigkeitsbereich erreichen (über 300000 Möglichkeiten). Als nächstes erwartet das Programm die Eingabe des Bereichs, der von 1 bis 9 gewählt werden kann. Bei beiden Eingaben kann man durch Drücken der < Return > -Taste die Standardwerte einstellen. Nachdem die -Anzahl der Möglichkeiten angezeigt wurde, können Sie Ihren Zahlencode eingeben. Die einzelnen Ziffern werden, um sie besser hervorzuheben, als ’Segmentziffern’ ausgegeben, wie sie auch bei Taschenrechnern und Digitaluhren verwendet werden.

Zum Einschalten der verschiedenen, im Normalbasic nicht ansprechbaren Schriftarten, werden die GEM-VDI Routinen aufgerufen. Nähere Erklärungen dazu finden Sie im GEM-Artikel in diesem Heft.

Beim Eintippen des Programms muß auf die Zeilennummern keine Rücksicht genommen werden, da das Programm nur Sprünge zu ’Labels’ enthält.

CODES Code
Z() Code (indizierte Variable)
Zl() Code für Vergleich
V() Versuch
N Anzahl der Zahlen
Z Bereich der Ziffern
E$ allgemeine Eingabevariable
A,B allgemeine Schleifenvariablen
VN Anzahl der Versuche ,
S Anzahl der ’Schwarzen’
W Anzahl der ’Weißen’-
X,Y Variablen für LINE und FILL

HAUPTROUTINEN
150 Zufallsgenerator setzen
160 Dimensionierung der Felder
170 Fenster vorbereiten
180 Große Fettschrift setzen
182- 188 Zeichnen von zwei Köpfen
190 Große, kursive und fette Schrift setzen
194 Kleinschrift setzen
195 Variablen für Standardspiel setzen
200- 270 Eingabe und Kontrolle von Anzahl und Bereich
280 Anzahl der Möglichkeiten ausgeben
290- 330 Zufallscode generieren
340 Aufruf der Zeichenroutine
360- 720 Hauptprogramm
370- 380 Anzahl der Versuche erhöhen und kontrollieren
410- 570 Eingabe des Codes und Kontrolle
460 LINE-Befehl für Markierung der Eingabe
500 Zahlencodes umwandeln in Code für Segmentziffern ,
530— 570 Abfrage ob Eingabe in Ordnung
590- 710 Auswertung des eingegebenen Codes
600 Anzahl der ’Schwarzen’ und ’Weißen’ zurücksetzen
620 Geheimcode in das Feld Zl() übertragen
630 Anzahl der ’Schwarzen’ überprüfen
650 Überprüfen ob gewonnen
690 Anzahl der ’Weißen’ überprüfen
740- 770 Programmteil für ’GEWONNEN’
790- 820 Programmteil für ’GENUG’
800 Lösungscode ausgeben
840- 870 Programmteil für ’AUFGEGEBEN’
880 Programmende
900-1040 Unterprogramm zum Zeichnen der Vierecke
905 Standardschrift setzen
930 y-Koordinate berechnen
950 Lücke zwischen ’Schwarzen’ und ’Weißen’
960 y-Koordinate berechnen
970-1000 LINE-Befehl für Viereck
1060-1110 Unterprogramm zum Ausfüllen der ’Schwarzen’
1070 — 1080 x- und y-Koordinaten berechnen
1090-1100 Farbe setzen und ausfüllen
1130-1180 Unterprogramm zum Ausfüllen der ’Weißen’
1140-1150 x- und y-Koordinaten berechnen
1160-1180 COLOR setzen und ausfüllen
1200-1310 Unterprogramm ’Tusch’ für ’Gewonnen’
1210 Ausschalten der drei Tonkanäle
1220-1240 Akkord mit drei Tonkanälen setzen
1250 Tonkanäle einschalten und Ton halten
1260-1290 Zweiten Akkord setzen und spielen
1400-1500 Unterprogramm zum Setzen von Schriftgröße und Schriftart
GEM-Routinen 107,106
1510-1630 Unterprogramm zur maßstabsgerechten Textausgabe GEM-Routine 8

Listing Code99.bas



Aus: ST-Computer 02 / 1986, Seite 17

Links

Copyright-Bestimmungen: siehe Über diese Seite