LEFT

Aus C64-Wiki
Zur Navigation springenZur Suche springen
LEFT
Syntax: LEFTB / 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: Linksscrollen eines Bildschirmbereichs
Abkürzung: keine (TSB: lE für LEFTW)
Token: $64 $13 (100 19) / $64 $14 (100 20)
Verwandte Befehle
UP - DOWN - RIGHT


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

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

LEFTB bzw. LEFTW erlaubt es dem Programmierer, Bereiche des Textbildschirms inklusive der Farben spaltenweise nach links zu scrollen. In der äußerst rechten, freiwerdenden Spalte werden je nach Typ des Befehls Leerzeichen aufgefüllt (LEFTB, das "B" steht für "blank"), was nur einen einzigen kompletten Scrollvorgang erlaubt, oder die links herausfallenden Zeichen wieder eingefügt (LEFTW, 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 LEFTB oder LEFTW direkt am rechten Bildschirmrand enden (Spalte 39), kann es öfter zu "Geisterzeichen" dort kommen, die sehr störend sein können, allerdings keinen schwerwiegenden Folgefehler verursachen.

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".