The following article was printed in issue 12'91/1'92 of the magazine „PC AMSTRAD INTERNATIONAL".
The game Bounce written in BASIC.

Bounce

100 Level Spielvergnügen

BOUNCE!! Ist es nicht das, was Sie schon immer für Ihren PCW gesucht haben? Ein Spiel, das Sie nicht mehr losläßt, sobald Sie es einmal begonnen haben? Nun, vor Ihnen liegt es. BOUNCE erfordert logische Vorgehensweise, stellt Anforderungen an Ihre Geschicklichkeit und verlangt zudem starke Nerven. Das Programm zeichnet sich durch Pulldown-Menüs, akustische und grafische Effekte aus, aber sehen Sie selbst und lassen Sie sich überraschen:

Auf einem acht x acht grossen Feld befinden sich Spielsteine, deren Position einer bestimmten Gesetzmässigkeit unterliegen. Diese sind von einem vorgegebenen Startstein beginnend durch Springen auf einen anderen Stein zu vernichten. Dabei gibt es acht verschiedene Sprungmöglichkeiten: Mit den vier Cursor-Tasten alleine können einfache Sprünge, in Verbindung mit der SHIFT-Taste jedoch Doppelsprünge in horizontaler und vertikaler Richtung ausgeführt werden. Der jeweils verlassene Stein wird vernichtet. Ihre Aufgabe ist es, in hundert Sekunden das gesamte Spielfeld abzuräumen. Das Limit wird im Info-Fenster und als schrumpfender Balken links neben dem Spielfeld angezeigt. Sollte das Limit bis auf dreißig Sekunden ablaufen, so fängt die gesamte Bildschirmdarstellung an zu wackeln. Verstreicht das Limit oder haben Sie sich versprungen, so ist das Spiel verloren.
Die auf Diskette vorhandenen Level werden nach einem Zufallssystem ausgesucht, jedoch so, daß sich die Level erst dann wiederholen, wenn alle vorhandenen gespielt worden sind. In diesem Fall jedoch werden diese in anderer Form als zuvor dargestellt (andere Startposition (2), spiegelverkehrt (2), gedreht (4)). Die Zahlen in Klammern geben die Anzahl der Möglichkeiten an. Insgesamt kann also jeder Level in 2x2x4=16 Variationen auftreten.
Während des Spiels wandeln sich gelegentlich normale Spielsteine in die Buchstaben b,o,u,n,c,e um, die für zehn Sekunden stehen bleiben. Gelingt es Ihnen, in dieser Zeit den aufgetauchten Buchstaben zu vernichten, so gibt es Extrapunkte, andernfalls wandelt sich der Buchstabe wieder in einen normalen Spielstein um.
Sollten Sie einmal alle sechs verschiedenen Buchstaben vernichtet haben, so daß das Wort "bounce" komplett ist, so gibt es nochmals Extrapunkte. Die Anzahl der durch Sie vernichteten Buchstaben wird im Infofenster angezeigt. Mit STOP können Sie während des Spiels eine Pause einlegen. Dabei wird das Spielfeld gelöscht, die Pause angezeigt und das Spiellimit angehalten. Bereits erschienene, nicht vernichtete Buchstaben gehen verloren. Wollen Sie das Spiel fortsetzen, so drücken Sie eine beliebige Taste. Das Drücken der PTR-Taste während des Spiels hat keinen Einfluss auf das Limit!
Sollten Sie bis spät in die Nacht spielen und möchten dabei niemand stören, so können Sie mit AUSBL alle akustischen Signale aus- und auch wieder einschalten.
Wenn Ihnen während des Spiels ein Level auffallen sollte, den Sie vielleicht anschließend bearbeiten möchten, so drücken Sie COPY, damit sich BOUNCE diesen Level merkt. Wie unten beschrieben, können Sie diesen dann im Editor durch erneutes Drücken von COPY aufrufen.

Die Highscore-Liste

BOUNCE verfügt über eine Highscore-Liste, in die Sie BOUNCE automatisch eintragen läßt, wenn Sie mit Ihren erspielten Punkten einen der ersten zehn Plätze belegen. Diese Highscore-Liste wird auf Diskette abgespeichert. Existiert diese bei Programmstart nicht auf Diskette, so wird eine Liste erstellt, in der alle zehn Plätze mit zu überbietenden Punkten belegt sind. Die aktuelle Highscore-Liste können Sie sich jederzeit im Hauptmenü zeigen lassen. Abgespeichert werden dabei Ihr Name, Ihre erzielten Punkte, der erreichte Level, die Anzahl der durch Sie vernichteten Buchstaben und die gesamte Spieldauer in Sekunden. Bei Punktgleichheit entscheidet die Anzahl gespielter Level, dann die Anzahl vernichteter Buchstaben, dann die kürzere Spieldauer und letztendlich das neuere Ergebnis über die bessere Platzierung.
Erstellen Sie sich Ihre eigenen Level

Der Editor

BOUNCE enthält einen Editor, mit dem Sie eigene Level erstellen und auf Diskette abspeichern können. Wenn Sie ihn im Hauptmenü aufrufen, so wird Ihnen im Info-Fenster in Klammern angezeigt, wieviele Level bereits existieren. Sie werden nun gefragt, ob Sie einen Level aufrufen oder erstellen wollen. Im ersten Fall springt der Cursor ins Infofenster und erwartet die Eingabe des gewünschten Levels. Drücken Sie ENTER, ohne eine Eingabe gemacht zu haben, so ruft BOUNCE den zuletzt aufgerufenen beziehungsweise. bearbeiteten auf. Wenn Sie COPY drücken, ruft BOUNCE automatisch den durch Sie während des Spiels markierten Level auf. Haben Sie jedoch zuvor keinen Level aufgerufen oder markiert oder haben Sie einen Level gelöscht, so wird der erste Level aufgerufen.
Durch Drücken der Taste zwischen den Cursor-Tasten setzen Sie einen Stein oder löschen einen bereits gesetzten. Mit FORM bestimmen Sie eine Startposition oder löschen eine bereits bestimmte. Pro Level müssen zwei Startpositionen angegeben werden.
Wenn Sie einen Level ordnungsgemäß mit zwei Startpositionen erstellt haben, so drücken Sie ENTER, damit BOUNCE Sie fragen kann, ob der Level in dieser Form abgespeichert werden kann. Das Programm schließt nach einem Schreibzugriff die betroffene Datei und öffnet sie wieder, damit zu jeder Zeit die Daten gesichert sind. Mit CAN brechen Sie fast jede gewählte Operation ab.
Zum Listing BOUNCE.BAS: Um das Programm BOUNCE lauffähig zu machen, ist die Tastaturbelegung geringfügig zu ändern: Hierfür erstellen Sie mit dem Programm RPED.BAS die Datei BOUNCE.WP

07 N "^'251'" <RETURN>
14 S "^'252'" <RETURN>
79 S "^'253'" <RETURN>
15 S "^'254'" <RETURN>
06 S "^'255'" <RETURN>

Diese Änderung1 ist notwendig, um SHIFT-Cursor - Kombinationen und die Benutzung der Taste zwischen den Cursor-Tasten zu ermöglichen. Vor dem Programmstart müssen Sie dann unter CP/M mit dem Programm SETKEYS.COM (Seite zwei der Systemdisketten) die Tastatur mit der Eingabe "SETKEYS BOUNCE.WP" umdefinieren und das Spiel mit "BASIC BOUNCE" starten.
Zum Listing LEVEL.BAS: Dieses Listing enthält hundert ausgeklügelte und getestete Level für BOUNCE, das nach dem Programmstart die Datei BOUNCE.LEV eröffnet und alle Level spielfertig einrichtet. Jeweils fünf DATA-Werte ergeben einen Level.
Hannes Geyer/rs
In letzter Minute konnte noch ein Fehler im Programm ausfindig gemacht werden, der sich auf die Berechnung der Extrabounspunkte auswirkt. Um diesen Fehler zu korrigieren, ändern Sie einfach die folgenden drei Zeilen wie angegeben ab:

1130 ge=1:bw=INT(6*RND):s=8*xw-4:FOR z=4*yw-4 TO 4*yw-2:GOSUB 90:PRINT SPC(6):NEXT z:z=4*yw-1:FOR i=1 TO 3:z=z-1:GOSUB90:PRINT inv$;MID$(bou$,8*bw+1+(z-4*yw+4)*48,6);nrm$:NEXT i:zv=se
1370 ge=0:bon=bon+1:GOSUB 2670:GOSUB 2960:pun=pun+(2*lim MOD 10):ep1=INT(2*lim/10):ep2=10:gosub 2870:IF (gbs AND 2^bw)=0 THEN gbs=gbs+2^bw
1385 GOSUB 3020

Auf der DATABOX steht selbstverständlich die korrigierte Fassung von BOUNCE zur Verfügung.
[BOUNCE.BAS]
[LEVEL.BAS]

1. Dies sind folgende Tasten:
TastennummerTaste
7[]
14
79
15
6

Scanned by Werner Cirsovius
August 2004
© DMV-Verlag