Zwei Quickies
Kopfstand für Sprites und ein kleiner Zeicheneditor sind zwei Einzeiler, die sich in Programme einbinden lassen.
Der folgende Einzeiler stellt ein Sprite auf den Kopf (beziehungsweise wieder auf die Füße):
Kopfstand für Sprites
FOR A=958 TO 896 STEP-3:POKE A-2,PEEK(832 + L): POKE A-1,PEEK(833 + L):POKE A,PEEK (834 + L): L=L+3:NEXT
Der Einzeiler kann nur dann als solcher eingegeben werden, wenn von der Möglichkeit Gebrauch gemacht wird, die (Basic-)Kurzbefehle einzutippen (siehe Anhang D im C 64-Handbuch). Sie können jedoch auch zwei Zeilen daraus machen. Das Sprite, das verändert werden soll, muß im Bereich 13 (Adresse 832-895) abgelegt sein; im Bereich 14 (Adresse 896-958) steht nach Programmlauf das gedrehte Sprite beziehungsweise dessen Bitmuster.
A | = Laufvariable für FOR…NEXT-Schleife |
L | = Zählvariable |
Da L nicht auf Null gesetzt wird, muß vermieden werden, diese Variable anderweitig im (Gesamt-) Programm zu verwenden, da es sonst zu unliebsamen Überraschungen kommen kann.
(Hans Joachim Neumann/gk)Zeichendefinitionen
Folgendes kurze Programm wandelt ein am Bildschirm entworfenes Zeichen in Zahlen um und schreibt diese dann auf den Bildschirm. Im linken oberen Eck des Bildschirmes wird das Zeichen in einer 8 * 8-Matrix entworfen. Um einen gesetzten Punkt zu markieren, wird an die gewünschte Stelle ein Stern (»*«) geschrieben.
X(0–7) | =Zahl 0–7 |
T | Zähler der Reihe |
Y | Zähler des Bits |
1031 | =linke obere Ecke des Zeichens+7 (1024+7) |
42 | Bildschirmcode für »*« — es können auch andere verwendet werden. |
Damit Sie nicht mit Abkürzungen arbeiten müssen, ist der Einzeiler auf zwei Zeilen aufgeteilt worden (Zeile 100 und 110).
Starten Sie das Programm mit RUN. In der oberen linken Ecke wird ein Raster von 8*8 Punkten gezeichnet und unter dem READY erscheint GOTO 100. Mit den Cursor-Tasten (nicht die RETURN-Taste verwenden) können Sie nun ein Zeichen definieren, indem Sie anstelle eines Punktes ein »*« setzen. Wenn das Zeichen fertig ist, gehen Sie mit dem Cursor auf »GOTO 100« und drücken RETURN. Auf dem Bildschirm werden jetzt die Daten dieses Zeichens angezeigt.
Diese Daten können zum Erstellen eines eigenen Zeichensatzes (auch für Spiele) verwendet werden. Ein manuelles Errechnen dieser Werte entfällt somit.
(Wolfgang Horak/gk)7 rem zeichendefinieren in der oberen 8 rem linken bildschirmecke 10 print"{clr}"; 20 for i = 1 to 8:print"........":next 30 print"{down}{down}{down}goto 100 " 40 end 100 for t=0 to 7:x(t)=0:for y=7 to 0 step-1:x(t)=x(t)-2^y*(peek(1031-y+40*t)= 42):next y 110 print x(t);:next