Einleitung |
Allgemeine Befehle |
Grafik Befehle |
Beispiele |
Anregungen
Alle in Großbuchstaben geschriebenen Wörter stellen Befehle
dar, alle in Kleinbuchstaben geschriebenen sind Parameter die angegeben
werden müssen. Parameter die in []-Klammern stehen sind optional,
müssen also nicht angegeben werden.
BASIC-Code wird Zeilenweise interpretiert, das heißt pro Zeile
darf nur ein Befehl gegeben werden. Wenn es nötig ist mehrere Befehle
pro Zeile anzugeben kann man dies tun indem man die Befehle mit einem Doppelpunkt
trennt.
| $ | Text (Zeichenfolge) |
| ! | Kommazahl-Kurz |
| # | Kommazahl-Lang |
| % | Ganzzahl-Normal |
| & | Ganzahl-Lang |
Variablen die ohne Endung notiert werden, werden automatisch zu Zahlen
Liest eine Eingabe ein und setzt sie in die entsprechende Variable.
Dabei sind sowohl Text als auch Zahlen Variablen erlaubt.
Liest nur ein Zeichen von der Tastatur und nimmt wie eine Text-Variable
den Wert an, welcher dann an eine Variable oder direkt in einer IF-Anweisung
benutzt werden kann.
Pausiert das Programm bis eine Taste gedrückt wurde.
Gibt einen kurzen Ton auf dem Intern-Speaker aus. Ist meist sinnvoll
um den Programmverlauf zu überprüfen.
Dieser Befehl dient dazu Kommentare. Statt REM kan auch der Oberstrich
' verwendet werden um die Kommentare kompakter zu gestalten.
Läßt das Programm zur angegebnen Zeile springen. Zeilen
können entweder mit Nummern markiert werden oder mit Wörtern,
die Wörter müssen dann aber mit einem Doppelpunkt abgeschlossen
werden.
Beispiel 1:
10 PRINT "Hallo"
GOTO 10
Beispiel 2:
Start:
PRINT "Hallo"
GOTO Start
Schreibt den angegebenen Text auf den Bildschirm. Der Text muß
in Anführungszeichen stehen. Wenn mehr als nur ein Text geschrieben
werden soll, kann dieser durch ein Semikolon - ; angehängt werden.
Es können auch Variablen angegeben werden, deren Wert dann ausgegeben
werden.
Beispiel:
x = 50
PRINT "Wert von X: "; x; "."
Ausgabe:
Wert von X: 50.
Dient dazu Bedingungen zu bewerten und in abhängigkeit von ihnen
ein Ereignis zu starten. Bedingungen bestehen meist aus Vergleichen von
Variablen durch <, >, <=, >=. Es können auch mehrere Vergleiche
verknüpft werden dazu dienen die Operanten AND (und), OR (oder), XOR
(ausschließendes oder). Falls das Ereignis aus mehreren Befehlen
besteht kann es über mehere Zeilen verteilt werden und muß mit
einem END IF abgeschlossen werden.
Beispiel:
INPUT A
INPUT B
IF A > B THEN
PRINT "A ist größer als B"
END IF
Leitet den Zufallgenerator ein.
Funtioniert wie eine Kommazahl mit einem zufälligen Wert 0 <
RND < 1. RND multiplizert mit einer Ganzzahl bringt eine zufallige Ganzzahl
mit dem maximal Wert der Ganzzahl.
Beispiel:
PRINT "Zufallszahl zwischen 1 und 50: "; INT(RND*50)
PRINT "Zufallszahl zwischen 0 und 1: "; RND
Rundet eine Kommazahl auf eine Ganzzahl.
Man muß zuerst um auf einen Grafik-Screens malen zu können ihn
einleiten:
9 - 640*350 / 16 Farben / 2 Seiten
12 - 640*480 / 16 Farben / 1 Seite
13 - 320*200 / 256 Farben / 1 Seite
Nach der initialisierung des Grafik-Screens kann man mit folgenden Befehken
auf ihn zugreifen und zeichnen:
Löscht den gesamten Bildschirm.
Zeichnet einen Punkt auf den Koordinaten X und Y mit der angegebenen
Farben.
Liefert die Farbnummer an den angegebnen Koordinate. Der Befehl wird
wie eine normale Ganzzahl behandelt. Der Befehl kann teilweise ganz gut
für Kollisionsabfrage genutzt werden.
Zeichnet eine Linie von X1, Y1 zu X2, Y2 mit der angegebenen Farbe.
Wenn BF angegeben wird, wird statt der Linie ein Rechteck gezeichnet.
Zeichnet einen Kreis auf den Koordinaten X und Y mit angegebenem Radius
und Farbe.
'Punkte-Misch
' Autor: Ingo Ruhnke
SCREEN 13 'initialisation des Grafik-Screens
DO
PSET (RND*320, RND*200), RND*255 'Zeichnet Zufälligen Punkt auf den Bildschirm
LOOP UNTIL INKEY$="q"
Dieses Programm ist im vergleich zum unteren recht sauber gestaltet.
Es enthält ausreichent Kommentare und Befehle die anderen Befehlen
unterstellt sind werden eingerückt.
5 a = 1: b = 1: aa = 1: bb = 1: aaa = 1: bbb = 1
10 SCREEN 12
20 CLS
30 x = INT(RND * 640)
40 y = INT(RND * 480)
50 xx = INT(RND * 640)
60 yy = INT(RND * 480)
70 xxx = INT(RND * 640)
80 yyy = INT(RND * 480)
90 LINE (x, y)-(xx, yy), 1
100 LINE (xx, yy)-(xxx, yyy), 4
110 LINE (xxx, yyy)-(x, y), 10
120 x = x + a: y = y + b
130 xx = xx + aa: yy = yy + bb
140 xxx = xxx + aaa: yyy = yyy + bbb
150 IF x >= 640 THEN a = INT(RND * 5) - 5
160 IF y >= 480 THEN b = INT(RND * 5) - 5
170 IF xx >= 640 THEN aa = INT(RND * 5) - 5
180 IF yy >= 480 THEN bb = INT(RND * 5) - 5
190 IF xxx >= 480 THEN aaa = INT(RND * 5) - 5
200 IF yyy >= 480 THEN bbb = INT(RND * 5) - 5
210 IF x <= 0 THEN a = INT(RND * 5)
220 IF y <= 0 THEN b = INT(RND * 5)
230 IF xx <= 0 THEN aa = INT(RND * 5)
240 IF yy <= 0 THEN bb = INT(RND * 5)
250 IF xxx <= 0 THEN aaa = INT(RND * 5)
260 IF yyy <= 0 THEN bbb = INT(RND * 5)
270 z = z + 1: IF z = 15 THEN CLS : z = 0: REM (z ist der "Verwisch Effekt")
280 GOTO 90
Dieser Quell-Code ist nicht sehr sauber und sollte zur Übung etwas
übersichtlicher gestaltent werden.
Die folgende Erläuterung ist relativ komplex und ist deshalb auf
einer eigenen Seite untergebracht.
Hi-Res
Schreib ein Programm bei dem sich der Computer eine Zufallszahl denkt
und der Spieler sich durch raten der Zahl nähern muß. Der Computer
sagt dabei ob die eingegebene Zahl größer oder kleiner ist als
die gedachte. Am Anfang sollte der Spieler dem Computer eine Zahlenobergrenze
für die Zufallszahl.
Schreibe einige Bildschirmschoner bei denen zufallig Kreise, Rechtecke
oder Linien auf dem Bildschirm verteilt werden. Experimentiere auch mit
expandierenden Kreisen und Rechtecken.
© Ingo Ruhnke, 9.10.1997
zurück zu Programming Stuff
zurück zur Startseite
Last updated on Februar 13, 1998
created by Ingo Ruhnke