DOWN

Aus C64-Wiki
Zur Navigation springenZur Suche springen
DOWN
Syntax: DOWNB / 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: Abwärtsscrollen eines Bildschirmbereichs
Abkürzung: keine (TSB: dO für DOWNB)
Token: $64 $15 (100 21) / $64 $16 (100 22)
Verwandte Befehle
UP - LEFT - RIGHT


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

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

DOWNB bzw. DOWNW erlaubt es dem Programmierer, Bereiche des Textbildschirms inklusive der Farben zeilenweise nach unten zu scrollen. In der obersten, freiwerdenden Zeile werden je nach Typ des Befehls Leerzeichen aufgefüllt (DOWNB, das "B" steht für "blank"), was nur einen einzigen kompletten Scroll-Durchgang erlaubt, oder die unten herausfallenden Zeichen wieder eingefügt (DOWNW, 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 DOWNB oder DOWNW direkt am oberen Bildschirmrand beginnen (Zeile 0), kann es dort öfter zu "Geisterzeichen" 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);
110 COLOUR 0,13: X=14: RV$=CHR$(18): SC$=CHR$(144): GR$=CHR$(152)
115 ST$=RV$+SC$+":"+GR$+"{11*SPACE}"+SC$+":": RR=39-LEN(ST$)+4
120 FILL 0,0,40,1,160,5: MOVE 0,0,40,1,24,0
125 FILL 0,0,1,25,160,5: MOVE 0,0,1,25,0,39
130 REPEAT: X=X+RND(1)*2-1: GET X$
140 IF X<1 THEN X=1
150 IF X>RR THEN X=R
160 DOWNB 1,1,38,23
170 PRINT AT(X,1) ST$
180 UNTIL X$>""

Das Beispiel erzeugt eine sich windende Straße. Abbruch ist per Tastendruck möglich. DOWNB lässt hier die Straße nach unten bewegen.

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