RIGHT

Aus C64-Wiki
Zur Navigation springenZur Suche springen
RIGHT
Syntax: RIGHTB / W <zl>,<sp>,<bt>,<ho>
Parameter
zl: Bildschirmzeile (0..24)
sp: Bildschirmspalte (0..39)
bt: Breite (1..40)
ho: Höhe (1..25)
Einordnung
Typ: Anweisung
Kontext: Bildschirmkontrolle
Aufgabe: Rechtsscrollen eines Bildschirmbereichs
Abkürzung: keine (TSB: rI für RIGHTB
Token: $64 $17 (100 23) / $64 $18 (100 24)
Verwandte Befehle
UP - DOWN - LEFT


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

Typ: Anweisung
Syntax: RIGHTB / W <zl>,<sp>,<bt>,<ho>

RIGHTB bzw. RIGHTW erlaubt es dem Programmierer, Bereiche des Textbildschirms inklusive der Farben spaltenweise nach rechts zu scrollen. In der äußerst linken, freiwerdenden Spalte werden je nach Typ des Befehls Leerzeichen aufgefüllt (RIGHTB, das "B" steht für "blank"), was nur einen einzigen kompletten Scroll-Durchgang erlaubt (danach sind keine Zeichen zum Scrollen mehr da), oder die rechts herausfallenden Zeichen links wieder eingefügt (RIGHTW, das "W" steht für "wrap"), was mit dem gleichen Inhalt immer wieder durchgeführt werden kann.

Leider handelt es sich bei diesem Scrolling um ein zeichenweises Scrolling, das in jedem Falle recht ruckelig wirkt. Pixelweises Scrolling ("Smooth Scrolling") ist mit Simons'-Basic-Befehlen nicht möglich.

Bei Über- oder Unterschreitung der zulässigen Werte (siehe Box) meldet der Interpreter die Fehlermeldung ?BAD MODE ERROR.

Beachten: Wenn RIGHTB oder RIGHTW direkt am linken Bildschirmrand beginnen (Spalte 0), kann es öfter zu "Geisterzeichen" dort kommen, die sehr störend sein können, allerdings keinen schwerwiegenden Folgefehler verursachen. Dieser Fehler ist in TSB (ab v2.21125) behoben.


Beispiel[Bearbeiten | Quelltext bearbeiten]

100 PRINT CHR$(147): COLOUR 11,12
110 FOR X= 0 TO 39
120 Y=12*SIN(X/3)+12: PRINT AT(X,Y)"*"
130 NEXT
135 :
140 FOR Y=1 TO 3
150 FOR X=1 TO 40
160 LEFTW 0,0,20,25: REM DIVERGIEREN
170 RIGHTW 0,20,20,25
180 NEXT
190 FOR x=1 TO 40
210 RIGHTW 0,0,20,25: REM KONVERGIEREN
220 LEFTW 0,20,20,25
230 NEXT
240 NEXT

Das Beispiel erzeugt eine Sinuskurve, die sich bewegt. Abbruch ist per Tastendruck möglich. LEFTW und RIGHTW lassen hier die Kurve konvergieren bzw. divergieren.

Beispiel übernommen und angepasst aus dem Buch "Das Trainingsbuch zum Simons' Basic".