10 REM SPRINGENDER BALL
HFFFF
> 20 PRINT "{CLEAR}"
G
25 FOR X = 1 TO 10 : PRINT "{DOWN}" : NEXT
G HFF
> 30 FOR BL = 1 TO 40
G G
40 PRINT" O{LEFT}";: REM O = SHIFT Q
G G H
> 50 FOR TM = 1 TO 5
G G JF
60 NEXT TM
G JFFF
70 NEXT BL
G
75 REM BEWEGT DEN BALL NACH LINKS
G HFF
> 80 FOR BL = 40 TO 1 STEP -1
G G
90 PRINT " {LEFT}{LEFT}O{LEFT}";
G G H
> 100 FOR TM = 1 TO 5
G G JF
110 NEXT TM
G JFFF
120 NEXT BL
JFFFFF
130 GOTO 20
NEXT-Anweisung in einer Zeile stehen können. Mehrere BASIC-Befehle
in einer Zeile müssen jedoch durch Doppelpunkte getrennt werden.
In Zeile 30 befindet sich der erste Teil einer Schleife, die dafür sorgt, daß
sich der Ball horizontal (von links nach rechts) über den gesamten, 40
Spalten breiten, Bildschirm bewegt.
In Zeile 40 wird eine Menge Arbeit geleistet. Als erstes wird ein leeres
Feld (auch "Space" genannt) gedruckt, dann wird der Ball gedruckt und
schließlich wird der Cursor nach links bewegt, um die Vorbedingung für
ein erneutes Löschen des Balls zu schaffen.
Die Schleife in den Zeilen 50 und 60 dient nur dazu, die Bewegung des
Balls zu verlangsamen. Ohne diese Schleife wäre der Ball kaum sichtbar.
In Zeile 70 befindet sich die zweite Hälfte der Schleife, deren erste Hälfte
sich in Zeile 30 befindet. Jedesmal, wenn diese Schleife durchlaufen wird,
bewegt sich der Ball um eine Cursorposition auf dem Bildschirm nach
rechts. Wie aus den verbindenden Pfeilen im obigen Programmausdruck
deutlich hervorgeht, haben wir eine Schleife in einer Schleife (sog.
geschachtelte Schleifen) konstruiert.
Wenn Sie diese Methode, Schleifen innerhalb anderer Schleifen laufen zu
lassen, anwenden, so müssen Sie darauf achten, daß die zuerst
geöffnete Schleife als letzte geschlossen wird. Überkreuzungen, die Sie
z. B. durch Vertauschen der Zeilen 60 und 70 herbeiführen können,
führen zu Fehlermeldungen.
In den Zeilen 80 bis 120 wird der umgekehrte Bewegungsablauf auf dem
Bildschirm erzeugt. Da die beiden Bewegungsrichtungen auf dem
Bildschirm jedoch nicht völlig gleichberechtigt sind, sehen die einander
entsprechenden Zeilen 40 und 90 etwas unterschiedlich aus.
Zum Schluß geht das Programm zurück zur Zeile 20 und alles fängt
wieder von vorn an.
44