PLOT

Aus C64-Wiki
Zur Navigation springenZur Suche springen
PLOT
Syntax: PLOT <x>, <y>, <f>
Parameter
x: X-Koordinate (0..319 / 0..159)
y: Y-Koordinate (0..199)
f: Farbquelle (0..2 / 0..4)
Einordnung
Typ: Anweisung
Kontext: Grafik
Aufgabe: Setzen eines Grafik-Punktes
Abkürzung: keine (TSB: pL)
Token: $64 $02 (100 2)
Verwandte Befehle
LINE - REC - BLOCK - CIRCLE - ARC - ANGL - PAINT


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

Typ: Anweisung 
Syntax: PLOT <x>, <y>, <f>

PLOT malt einen einzelnen Grafikpunkt (Pixel) an die Position <x>,<y> in der Farbe, die durch <f> bestimmt wird. Je nachdem, welcher Grafikmodus aktiviert ist (siehe HIRES und MULTI), hat man in x-Richtung 320 ansteuerbare Positionen (Hires-Modus) oder 160 (Multicolor-Modus). In y-Richtung beträgt die Auflösung immer 200 Pixel. 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.

Wird kein Parameter eingegeben, so erscheint die Fehlermeldung ?SYNTAX ERROR, bei einem falschen Wert erscheint ?BAD MODE ERROR. Befindet sich <x> außerhalb des Wertebereichs von 0 bis 65535 oder <y> außerhalb von 0 bis 255 wird mit ?ILLEGAL QUANTITY ERROR abgebrochen.

Der PLOT-Befehl enthält eines der beiden Simons' Basics Ostereier (das gleiche enthält der Befehl KEY): Gibt man die folgende Zeile ein

PLOT 383,0,127

dann antwortet der Interpreter mit der Textausgabe "ds-cbm". Dies gilt nicht für TSB.


Beispiele[Bearbeiten | Quelltext bearbeiten]

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

Beispiel 1: Das Schachbrett entsteht durch SGN, das Rauschen durch RND

Beispiel 1[Bearbeiten | Quelltext bearbeiten]

100 HIRES 1,0
110 FOR X=.5 TO 159.5: FOR Y=.5 TO 99.5
120 R=SQR(X*X+Y*Y): H=.7: IF R<90 THEN H=.7+.7*(90-R)/90
130 IF SGN(SIN(X/4)*SIN(Y/4))=>0 THEN H=1-H
140 IF H<RND(1) THEN 160
150 PLOT 159.5+X, 99.5-Y,1:PLOT 159.5-X, 99.5+Y,1: GOTO 170
160 PLOT 159.5+X, 99.5+Y,1: PLOT 159.5-X, 99.5-Y,1
170 NEXT: NEXT
180 WAIT 198,255

Erzeugt die abgebildete Grafik.



Beispiel 2: Die kreisförmige Interferenz ist ein Moiré-Effekt

Beispiel 2[Bearbeiten | Quelltext bearbeiten]

100 HIRES 1,0
110 FOR X=0 TO 159: FOR Y=0 TO 99
120 R=X*X+Y*Y
130 IF (R/150 AND 1) THEN 160
140 PLOT 160+X,100+Y,1:PLOT 160-X,100+Y,1
150 PLOT 160-X,100-Y,1:PLOT 160+X,100-Y,1
160 NEXT: NEXT
170 WAIT 198,255

Erzeugt die abgebildete Grafik.