CIRCLE

Aus C64-Wiki
Zur Navigation springenZur Suche springen
CIRCLE
Syntax: CIRCLE <x>,<y>,<rx>,<ry>,<f>
Parameter
x: X-Koordinate Mittelpunkt (0..319 / 0..159)
y: Y-Koordinate Mittelpunkt (0..199)
rx: Radius in X-Richtung (0..255)
ry: Radius in Y-Richtung (0..255)
f: Farbquelle (0..2 / 0..4)
Einordnung
Typ: Anweisung
Kontext: Grafik
Aufgabe: Zeichnen von Ellipsen (u. Kreisen)
Abkürzung: keine
Token: $64 $42 (100 66)
Verwandte Befehle
LINE - REC - BLOCK - PLOT - ARC - ANGL - PAINT


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

Typ: Anweisung 
Syntax: CIRCLE <x>,<y>,<rx>,<ry>,<f>

Mit CIRCLE zeichnet man Ellipsen bzw. Kreise (Sonderfall der Ellipse) um einen Mittelpunkt (<x>,<y>) mit den Radien <rx> und <ry> in der Farbe, die durch <f> bestimmt wird (s. dazu HIRES). In x-Richtung darf eine Ellipse 255 Punkte Radius aufweisen, in y-Richtung ebenfalls. Punkte, die über den Bildschirmrand hinausgehen würden, werden auf diese höchstmöglichen Koordinaten begrenzt, der Interpreter malt aber weiter. 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.

Beachten: Ist <f> auf invers gesetzt (2 in HIRES oder 4 in MULTI), dann wird der Kreis löcherig gezeichnet.

Ein einfaches Beispiel für das Zeichnen von Kreisen

Wird kein Parameter eingegeben, so erscheint die Fehlermeldung ?SYNTAX ERROR, bei einem falschen Wert erscheint ?ILLEGAL QUANTITY ERROR.


Beispiel[Bearbeiten | Quelltext bearbeiten]

Dieses Programm erzeugt die abgebildete Grafik.

100 HIRES 0,1
110 FOR i=0 TO 9: FOR j=0 TO 5: k=(i+j)/2
120 CIRCLE 160+15*i,100+15*j,15-k,15-k,1
130 CIRCLE 160-15*i,100+15*j,15-k,15-k,1
140 CIRCLE 160-15*i,100-15*j,15-k,15-k,1
150 CIRCLE 160+15*i,100-15*j,15-k,15-k,1
160 NEXT: NEXT
170 FOR i=0 TO 9: FOR j=0 TO 5
180 PAINT 160+15*i,100+15*j,1
190 PAINT 160-15*i,100+15*j,1
200 PAINT 160-15*i,100-15*j,1
210 PAINT 160+15*i,100-15*j,1
220 NEXT: NEXT
230 WAIT 198,255

Beispiel übernommen und angepasst aus dem Buch Spiele mit Computergrafik.
(Die Abarbeitungszeit auf einem Original-C64 ist sehr lang.)