MOVE
Aus C64-Wiki
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Dieser Artikel beschreibt das Simons'-Basic-Schlüsselwort MOVE.
Typ: Anweisung Syntax: MOVE <zl>,<sp>,<bt>,<ho>,<zz>,<zs>
MOVE dient dazu, Bereiche des Textbildschirms inklusive der Farben an eine andere Stelle des Textbildschirms (definiert durch <zz> und <zs>) zu kopieren.
Nützlich, um ohne großen Aufwand eine symmetrische Bildschirmgestaltung zu erzeugen.
Bei Über- oder Unterschreitung der zulässigen Werte (siehe Box) meldet der Interpreter einen ?BAD MODE ERROR.
Beachten: Die beiden letzten Parameter des Befehls (Zielzeile und Zielspalte) dürfen nur durch Konstanten angegeben werden. Der Interpreter wertet Variablen an dieser Stelle falsch aus, so dass unvorhersehbare Werte entstehen. Dieser Mangel ist unter TSB behoben.
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 MOVE vervollständigt hier den Rahmen ums Bild)