ROT

Aus C64-Wiki

Wechseln zu: Navigation, Suche
ROT
Format: ROT <r>, <g>
Parameter
r: Richtungsdefinition (0..7)
g: Größe (0..255)
Einordnung
Typ: Anweisung
Kontext: Grafik
Aufgabe: Festlegen der Eigenschaften einer DRAW-Figur
Shortcut: keiner
Verwandte Befehle
DRAW


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

Typ: Anweisung 
Syntax: ROT <r>, <g>

ROT ergänzt den DRAW-Befehl, der eine ist ohne den anderen nicht verwendbar.

Mit dem zweiten Parameter von ROT legt man fest, wie groß die Schrittweite der Richtungsanweisungen von DRAW sein soll. Die hier angegebene Schrittweite gilt für alle folgenden DRAW-Befehle bis zum nächsten ROT. Ein Wert von 0 entspricht in diesem Fall einer Schrittweite von 256 Pixeln. Punkte, die an einer Seite aus dem Grafikbereich herausragen, zeichnet der Interpreter entgegen seiner sonstigen Verhaltensweise an der gegenüberliegenden Seite weiter.

Der Parameter <r> bezeichnet den Rotationswinkel, den Simons' Basic bei der Darstellung der DRAW-Figur einhalten soll. Es ist nicht möglich, einen beliebigen Winkel einzugeben. Stattdessen ist man beschränkt auf acht verschiedene Winkel im Abstand von 45 Grad nach der folgenden Tabelle:

Befehl Richtung Winkel in Grad
0 N 0
1 NO 45
2 O 90
3 SO 135
4 S 180
5 SW 225
6 W 270
7 NW 315

Beachten: Die ungeraden Werte (also die Vielfachen von 45 Grad) führen dazu, dass die Figur um ein Viertel vergrößert gezeichnet wird. Im Beispielprogramm sieht man, wie man diesem Problem entgegenwirken kann.

Wird kein Parameter eingegeben, so erscheint die Fehlermeldung ?SYNTAX ERROR, bei einem Wert größer als 7 für die Rotation erscheint ?BAD MODE ERROR.

DRAW und ROT in Aktion
Beispiel: 

 100 w$="777755662255666600"
 110 i$="727700"
 115 k$="1111777711562577001111"
 120 DIM s%(1)
 125 HIRES 1,0:
     x=160:
     y=100:
     s=8
 130 s%(0)=s:
     s%(1)=s-s/4
 135 d$=w$+i$+k$+i$
 140 REPEAT :
       GET x$:
       FOR w=0 TO 7
 150     ROT w,s%(w AND 1):
         DRAW d$,x,y,1
 160     DRAW d$,x,y,0
 170   NEXT 
 180 UNTIL x$>""
 185 ROT 0,s:
     DRAW d$,x,y,1
 190 WAIT 198,255

(erzeugt das Beispielbild)

Kommentar: Die Größe des Objekts wird mit s in Zeile 125 definiert. Da beim Drehen mit
Mehrfachen von 45 Grad Verzerrungen entstehen (das Objekt wird ein Viertel größer), werden 
diese in den Zeilen 130 und 150 wieder herausgerechnet.
Persönliche Werkzeuge