BLOCK

Aus C64-Wiki
Wechseln zu: Navigation, Suche
BLOCK
Format: BLOCK <x1>,<y1>,<x2>,<y2>,<f>
Parameter
x1: X-Koordinate linke obere Ecke (0..319 / 0..159)
y1: Y-Koordinate linke obere Ecke (0..199)
x2: X-Koordinate rechte untere Ecke (0..319 / 0..159)
y2: Y-Koordinate rechte untere Ecke (0..199)
f: Farbquelle (0..2 / 0..4)
Einordnung
Typ: Anweisung
Kontext: Grafik
Aufgabe: Zeichnen eines ausgefüllten Rechtecks
Abkürzung: keine
Verwandte Befehle
PLOT - REC - LINE - CIRCLE - ARC - ANGL - PAINT


Dieser Artikel beschreibt das Simons'-Basic-Schlüsselwort BLOCK.

Typ: Anweisung 
Syntax: BLOCK <x1>,<y1>,<x2>,<y2>,<f>

BLOCK zeichnet ein ausgefülltes Rechteck. Der Ort der linken oberen Ecke wird durch die beiden ersten Parameter <x1> und <y1> bestimmt, die rechte untere Ecke des Rechtecks legen Parameter drei und vier fest (<x2> und <y2>). Die Farbe des Rechtecks wird durch den letzten Parameter (<f>) bestimmt. Zulässige Werte sind 0..319 für <x1> und <x2> (im Hires-Modus) bzw. 0..159 (im Multicolor-Modus). Für <y1> bzw. <y2> sind in beiden Fällen Werte von 0 bis 199 erlaubt. Auch die Farbe hängt vom Grafikmodus ab und bezieht sich auf die Farbangaben hinter HIRES einerseits bzw. MULTI und LOW COL andererseits. Der Punkt 0,0 ist in der linken oberen Ecke. Leider stimmen die Parametertypen von REC und BLOCK nicht überein, was das Programmieren ein wenig umständlicher macht.

(thumbnail)
Die Blätter werden mittels BLOCK zuerst gelöscht
Bei Überschreitung der Bildschirmgrenzen begrenzt der Interpreter die Werte und zeichnet weiter. Wird kein Parameter eingegeben, so erscheint die Fehlermeldung ?SYNTAX ERROR, bei einem falschen Wert erscheint ?BAD MODE ERROR.


Beispiel: 

100 HIRES 0,1
105 REPEAT: GET x$
110 x=290*RND(1): y=180*RND(1)
120 BLOCK x,y,x+29,y+19,0
130 REC x,y,29,19,1
140 UNTIL x$>"": PAINT 0,0,1
150 WAIT 198,255
 
(erzeugt die abgebildete Animation)

Beispiel übernommen und angepasst aus dem Buch Spiele mit Computergrafik.