DOWN

Aus C64-Wiki
Wechseln zu: Navigation, Suche
DOWN
Format: 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
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 Scrollvorgang 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 einen ?BAD MODE ERROR.

Beachten: Wenn DOWNB oder DOWNW direkt am oberen Bildschirmrand beginnen (Zeile 0), kann es öfter zu "Geisterzeichen" dort kommen, die sehr störend sein können, allerdings keinen schwerwiegenden Folgefehler verursachen.

Beispiel: 

100 PRINT "{clear/home}"
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$>""

(erzeugt eine sich windende Straße, Abbruch per Tastendruck
 DOWNB lässt hier die Straße sich nach unten bewegen)

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