Listing allemand (5 pages)
Transféré par Nicholas CAMPBELL
NOTICE TEXTE n° 1 (12.34 Ko)
Think
Bombenjagd mit Grips
Bevor eine versteckte Bombe entschärft werden kann, muß man sie erst einmal
finden. In unserem Fall gehört eine Menge Scharfsinn und Logik dazu, damit es
bei der Jagd nach den Bomben nicht zu bosen Überraschungen kommt. Machen Sie
mit bei "Think", einem alle einfachen wie eindrucksvollen Denkspiel fur alle
CPCs.
Ziel des Spiels "Think" ist, in einem Spielfeld, das aus 36, 64, 100 oder 144
Feldern besteht, eine festgelegte Anzahl von Bomben zu finden und die
entsprechenden Felder zu markieren. Die Anzahl der Felder und die Anzahl der
Bomben hängen dabei vom gewählten Spiellevel ab. Dabei gilt:
__________________________________
| |
| Level Felder Bomben |
| Beginner 36 4 |
| Amateur 64 9 |
| Expert 100 20 |
| Professional 144 48 |
|__________________________________|
Um die Bomben zu finden, kann man mit einem Cursor jedes Feld auf dem Spielfeld
anspringen. Ein so gewähltes Feld kann auf zwei verschiedene Weisen behandelt
werden. Ist man der Meinung, auf dem Feld befindet sich eine Bombe, sperrt man
es mit einem Totenkopf, indem man die Leertaste drückt. Andernfalls deckt man
das Feld durch <COPY> auf. Findet sich unter einem mit <COPY> aufgedeckten Feld
eine Bombe, ist das Spiel unweigerlich zu Ende. In diesem Fall werden alle
Felder offengelegt, und man kann die Positionen der Bomben erkennen.
Ist das aufgedeckte Feld "sauber", erscheint in seiner linken oberen Ecke eine
Ziffer, die die Anzahl der direkt an das Feld angrenzenden Bomben zeigt. Diese
Zahl bezieht sich auf alle Bomben rund um das gewählte Feld. Ist keine Zahl zu
sehen, so sind alle Felder um das gewählte Feld herum bombenfrei, auch die
diagonalen Nachbarn.
Ein bereits aufgedecktes Feld kann logischerweise nicht mehr markiert werden.
Die Sperrung mittels Totenkopf läßt sich jedoch durch nochmaliges Drükken der
Leertaste rückgängig machen.
Gesteuert wird per Menü
Während des Spiels läuft eine Uhr mit, die im Kontrollkasten auf der rechten
Bildschirmseite unter dem Eintrag "time" eingeblendet ist. Hat man alle Bomben
gefunden und als Freigabesignal <RETURN> gedrückt, stoppt die Zeit. Die
schnellsten Bombensucher können sich in der High-Score-Tabelle verewigen. Über
ein kleines Menü wird das gesamte Spielgeschehen kontrolliert. Die vier
Menüpunkte haben folgende Bedeutung:
___________________________________________________________________
| |
| New Game - startet ein neues Spiel |
| Change Level - wechselt den Schwierigkeitsgrad |
| Hi-Scores - eröffnet einen Blick auf die besten Plazierungen |
| End Game - bringt den Bombensucher auf den Boden des BASIC zurück |
|___________________________________________________________________|
Die einzelnen Menüpunkte werden mit den Cursortasten angewählt und mit <COPY>
aktiviert. Die folgende Tabelle zeigt alle Tasten und deren Funktion innerhalb
des Spiels "Think".
_____________________________________________________________________________
| |
| Taste Bedeutung |
| Cursortasten Steuerung des Spielcursors und der Pfeile im Hauptmenü |
| <COPY> dient zum Aufdecken eines Feldes und zum Anklicken einer |
| Option im Hauptmenü |
| <SPACE> kennzeichnet ein Feld mit einem Totenkopf oder löscht die |
| Totenkopfmarkierung |
| <RETURN> beendet das Spiel, wenn man meint, alle Bomben markiert |
| zu haben. Es wird die Kontrollfunktion aktiviert, die die |
| markierten Bomben mit den tatsächlich gesetzten |
| vergleicht. Die Zeit wird gestoppt, und man kann sich |
| gegebenenfalls in die High-Score-Liste eintragen |
| <DEL> dient zum Abbrechen des Spiels. Es werden alle Bomben |
| aufgedeckt, und man gelangt zurück ins Hauptmenü |
|_____________________________________________________________________________|
Zwei Listings sorgen für Bombenunterhaltung
"Think" besteht aus zwei Listings. Das eine heißt THINK.PRG, das andere
SCORE.BAS. Letzteres ist ein kleines BASIC-Programm, das vor dem ersten Spiel
gestartet werden muß. SCORE.BAS richtet eine ASCII-Datei namens THINK.SCO auf
der Diskette ein, die die besten Ergebnisse für die Ewigkeit festhält. Diese
Datei wird vom Hauptprogramm gebraucht. THINK.PRG ist dank des leicht
verständlichen BASIC-Codes in vielen Bereichen zu modifizieren. So lassen sich
beispielsweise die Farben in der Zeile 800 den individuellen Wünschen anpassen.
Wer Zeit beim Abtippen sparen will, kann die REM-Zeilen weglassen, sie werden
von GOTO- oder GOSUB-Befehlen nicht direkt angesprungen.
Im Falle einer Fehlermeldung
Wer ohne Diskettenlaufwerk auskommen muß, wird zu Programmbeginn vom Rechner
eine Fehlermeldung erhalten."Think" erwartet die High-Score-Tabelle von der
Diskette. In diesem Fall reicht es, den GOSUB-Befehl in Zeile 790 zu streichen.
Das Spiel läuft dann zwar ohne High-Score-Tabelle, aberes läuft.
Wenn Sie vor dem ersten Start von "Think" das Zusatzprogramm SCORE.BAS nicht
ausführen lassen, beschwert sich der Rechner, daß er die High-Score-Tabelle
nicht finden kann. Abhilfe: Starten von SCORE.BAS.
Im "Professional-Level" muß der gute alte CPC sehr viele Berechnungen
durchführen. Dadurch wird unter anderem die Zeit des Spielfeldaufbaus
verlängert. Es tut sich einige Zeit nichts auf dem Bildschirm. Etwas Geduld ist
angesagt, nicht das Drücken der <ESC>-Taste. Auch die Berechnungen der
Bombenanzahl benötigen in den hohen Levels etwas Zeit, auch hier gilt: Geduld
ist besser als Abbruch.
________________________________
| |
| +-----------+ |
| | | | * |-----------+ |
Eine Ziffer in einem | |---+===+---| | |
Feld bezieht sich auf | | | 3 | * | +-----------+ |
alle angrenzenden | |---+===+---| | | | | |
Felder einschließlich | | | * | | |---+===+---| |
der diagonalen Nachbarn. | +-----------+ | | | | |
Besitzt ein Feld keine | | |---+===+---| |
Ziffer, so sind | +----------| | | | |
alle angrenzenden | +-----------+ |
Felder bombenfrei |________________________________|
Langzeit-Logik-Unterhaltung
In der Regel läßt sich "Think" ohne großes Risiko lösen. Verschiedene Kniffe
und Strategien entblößen immer mehr vom Spielfeld. Nur in seltenen Fällen, wie
beim Spielstart, muß man blind ins Blaue zielen - mit dem Risiko, eine Bombe zu
treffen. Um den Geist von "Think" besser einfangen zu können, geben wir einige
kleine Tips: Felder ohne Ziffern sind die beliebtesten Felder. Um sie herum
können alle angrenzenden Felder gefahrlos geöffnet werden. Liegen um ein Feld
mit einer 1 bereits sieben aufgedeckte Felder, muß im achten eine Bombe
versteckt sein. Die Umgebungen aller "1"-Felder, die an ein Bombenfeld
angrenzen, können gefahrlos enttarnt werden.
Kleines "Who's Who?" der Variablen
Der Übersicht halber haben wir zum Abschluß noch einmal alle Variablen und ihre
Bedeutung aufgelistet. Das erleichtert ein Verändern des Programms:
______________________________________________________________________
| |
| a,b,d,l,m,q,s,z Zählervariablen |
| low,high,hi legen Grenzwerte in einem DIMensionierten Feld fest |
| cl,mi,sec,ti Zeitvariablen |
| t$,t Tastaturabfragen |
| name$ High-Store-Variablen |
| l$ Level-Variable |
| bm Anzahl der zu suchenden Bomben im Spiel |
| xm,ym doppelte Breite und Höhe des Spielfelds |
| x,y aktuelle Cursorposition |
| kx,ky Totenkopfkoordinaten |
| bx,by Bombenkoordinaten |
| d(x,y) Feldvariable (sie ist 0, wenn das Feld noch nicht |
| aufgedeckt wurde und 1 im anderen Fall) |
|______________________________________________________________________|
Übrigens: Es soll ja vorkommen, daß der eine oder andere unserer Leser auch in
der Welt der IBM-kompatiblen PCs heimisch ist. Wer unter den PC-Vertrauten dann
auch noch etwas für die Mammut-Benutzeroberfläche Microsoft Windows übrig hat,
kennt vielleicht "Minesweeper". Dieses grafische Spielprogramm ist im
Lieferumfang von Windows 3.1 enthalten und erfreut sich bei vielen
"Windowianern" großer Beliebtheit - denn auch mit teuren Büro-Rechnerklötzen
mag man ja nicht immer nur ernsthafte Dinge treiben. Dem "Minesweeper"-Kundigen
dürfte eine ungemein starke Ähnlichkeit mit unserem CPC-"Think" auffallen -
will sagen: Wer sich zur fröhlichen Bombensuche aufmacht, braucht dazu nicht
unbedingt immer die teuerste Computer-Umgebung!...
(Ivo Mieskes/sz)
_____________________________________________________________________________
| |
| [Foto von Ivo Mieskes] |
| |
| Warum nicht mal BASIC? |
| |
| Ivo Mieskes über sein Programm "Think" |
| |
| Der Grund, warum ich dieses Spiel geschrieben habe, ist nicht nur die |
| Spielidee, die mir gefallen hat, sondern vielmehr die Tatsache, daß immer |
| weniger Spiele in reinem BASIC-Code verfaßt werden. |
| Oft hört man, BASIC sei viel zu langsam. Doch diesen "Schönheitsfehler" |
| kann man nicht selten durch geschickte Programmierung umgehen. Sieht man |
| sich das Programm "Think" an, so fallen zum Beispiel die auf den ersten |
| Blick umständlich programmierten Symboldefinitionen oder die vielen PRINT- |
| und LOCATE-Anweisungen auf. Natürlich könnte man alle Daten schön sauber in |
| DATA-Zeilen schreiben, dies würde aber die Ablaufgeschwindigkeit |
| vervielfachen. Hier sieht man, daß die konventionellen Programmiermethoden |
| die "sauberen" in puncto Geschwindigkeit bei weitem übertreffen können. |
| Dieses Programm ist absichtlich auf Schnelligkeit getrimmt und zeigt damit, |
| daß auch BASIC "pur" eine durchaus taugliche Programmiersprache sein kann. |
|_____________________________________________________________________________|
[Das Listing THINK.BAS aus der CPC Amstrad International 10'11/92 enthält
Fehler, die verhindern dass die High Score-Tabelle korrekt angezeigt wird.
Diese können behoben werden, indem die folgenden Zeilen geändert werden:
* 2360 - ändere "LOCATE 2,5" zu "LOCATE 2,4"
* 2370 - ändere "LOCATE 2,10" zu "LOCATE 2,9"
* 2380 - ändere "LOCATE 2,15" zu "LOCATE 2,14"
* 2390 - ändere "LOCATE 2,20" zu "LOCATE 2,19"
* 2480 - ändere "LOCATE 9,a*5+b-1" zu "LOCATE 2,a*5+b-1"]