PLOT
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[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[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.
$ | % | @ | ANGL | ARC | AT | AUTO | BCKGNDS | BFLASH | BLOCK | CALL | CENTRE | CGOTO | CHAR | CHECK | CIRCLE | CMOB | COLD | COLOUR | COPY | CSET | DELAY | DESIGN | DETECT | DIR | DISABLE | DISAPA | DISK | DISPLAY | DIV | DOWN | DRAW | DUMP | DUP | ELSE | END LOOP | END PROC | ENVELOPE | ERRLN | ERRN | EXEC | EXIT | EXOR | FCHR | FCOL | FETCH | FILL | FIND | FLASH | FRAC | GLOBAL | GRAPHICS | HI COL | HIRES | HRDCPY | INKEY | INSERT | INST | INV | JOY | KEY | LEFT | LIN | LINE | LOCAL | LOOP | LOW COL | MEM | MERGE | MMOB | MOB OFF | MOB SET | MOD | MOVE | MULTI | MUSIC | NO ERROR | NRM | OFF | OLD | ON ERROR | ON KEY | OPTION | OUT | PAGE | PAINT | PAUSE | PENX | PENY | PLACE | PLAY | PLOT | POT | PROC | RCOMP | REC | RENUMBER | REPEAT | RESET | RESUME | RETRACE | RIGHT | RLOCMOB | ROT | SCRLD | SCRSV | SECURE | SOUND | TEST | TEXT | TRACE | UNTIL | UP | USE | VOL | WAVE