@
@ | |
Syntax: | @<Definitionszeichenfolge> |
Parameter | |
<Definitionszeichenfolge> bestehend aus Zeichen "A", "B", "C", "D", "." oder Leerzeichen | |
Einordnung | |
Typ: | Anweisung |
Kontext: | Sprites oder Zeichensatz |
Aufgabe: | Markiert den Beginn einer Definitionszeile |
Abkürzung: | keine |
Token: | keins |
Verwandte Befehle | |
DESIGN - CMOB - MOBCOL - MOB SET |
Dieser Artikel beschreibt das Simons'-Basic-Schlüsselwort @.
Typ: Anweisung Syntax: @<Definitionszeichenfolge>
Der Befehl @ ist untrennbar mit dem Befehl DESIGN verbunden. Er legt den Beginn einer Definitionszeile des Bitmusters von entweder einem Sprite (DESIGN 0, 1 oder 5) oder einem Zeichensatzzeichen (DESIGN 2, 3 oder 7) fest, wobei ein ungerader Parameter für die Multicolor-Variante steht, ein gerader für die hochauflösende. Der jeweilige Kontext bestimmt auch, wie viele Definitionszeichen auf das einleitende "@" folgen dürfen (jedes Leerzeichen ist dabei signifikant, außer am Zeilenende, die der Basic-Editor ignoriert). Die folgende Tabelle zeigt den Zusammenhang.
DESIGN 0 | DESIGN 1 | DESIGN 2 | DESIGN 3 | DESIGN 5 Multi (TSB) |
DESIGN 7 Multi (TSB) | |
Spalten | 24 | 12 | 8 | 4 | 24 | 8 |
Zeilen | 21 | 21 | 8 | 8 | 21 | 8 |
Zulässige Definitionszeichen sind: "A", "B", "C" und "D", sowie die beiden Zeichen "." (Punkt) und " " (Leerzeichen), die beide stellvertretend für "A" gesetzt werden können.
Andere Definitionszeichen oder eine fehlende Anzahl in einer Zeile bzw. fehlende Zeilen lösen die Fehlermeldung ?BAD CHAR FOR A MOB aus. Überflüssige Zeichen in einer Zeile werden schlicht ignoriert, jedoch führt eine Definitionszeile zuviel zum Fehler ?SYNTAX ERROR. Bei DESIGN-Parameter 5 und 7 (nur TSB) müssen alle Buchstaben doppelt eingegeben werden, da sie Doppelpixel repräsentieren.
Dabei bedeuten diese Zeichen (bei der Sprite-Definition):
Zeichen | : bewirkt | : Farbe gesetzt mit Befehl : (Hires-Modus) |
: Farbe gesetzt mit Befehl : (Multicolor-Modus) |
"A", "." oder " " | : Bit in Hintergrundfarbe : (Multi-Farbquelle 0) |
: COLOUR : (transparent, $D021, %00) |
: COLOUR : (transparent, $D021, %00) |
"B" | : Bit in Vordergrundfarbe : (Multi-Farbquelle 1) |
: MOB SET oder MOBCOL : ($D027..$D02E, %10) |
: CMOB ($D025, %01) |
"C" | : Bit in Multifarbe 1 : (Multi-Farbquelle 2) |
: - | : MOB SET oder MOBCOL : ($D027..$D02E, %10) |
"D" | : Bit in Multifarbe 2 : (Multi-Farbquelle 3) |
: - | : CMOB ($D026, %11) |
Beispiel[Bearbeiten | Quelltext bearbeiten]
Beispiel für DESIGN, MOB SET, MMOB und @:
1700 PROC SPRITE 1710 DESIGN 0, 15*64 1720 @BBBBBBBBBBBB............ 1721 @BBBBBBBBBBBB............ 1722 @BB........BB............ 1723 @BB........BB............ 1724 @BB........BB............ 1725 @BB........BB............ 1726 @BB........BB............ 1727 @BB........BB............ 1728 @BB........BB............ 1729 @BB........BB............ 1730 @BBBBBBBBBBBB............ 1731 @BBBBBBBBBBBB............ 1732 @........................ 1733 @........................ 1734 @........................ 1735 @........................ 1736 @........................ 1737 @........................ 1738 @........................ 1739 @........................ 1740 @........................ 1750 MOB SET 1,15,1,0,0 : REM SPRITE DEFINIEREN 1760 S8=38: Z8=80 : REM SPRITE POSITION 1770 MMOB 1,S8,Z8,S8,Z8,0,0: REM SPRITE ANZEIGEN 1780 END PROC
Definiert ein weißes Kästchen als Hires-Sprite mit einem zwei Pixel dicken Rand, in der Mitte bleiben 8x8 Bit frei. Bild siehe Beispiel zu MMOB.
$ | % | @ | ANGL | ARC | AT | AUTO | BCKGNDS | BFLASH | BLOCK | CALL | CENTRE | CGOTO | CHAR | CHECK | CIRCLE | CMOB | COLD | COLOUR | COPY | CSET | DELAY | DESIGN | DETECT | DIR | DISABLE | DISAPA | DISK | DISPLAY | DIV | DOWN | DRAW | DUMP | DUP | ELSE | END LOOP | END PROC | ENVELOPE | ERRLN | ERRN | EXEC | EXIT | EXOR | FCHR | FCOL | FETCH | FILL | FIND | FLASH | FRAC | GLOBAL | GRAPHICS | HI COL | HIRES | HRDCPY | INKEY | INSERT | INST | INV | JOY | KEY | LEFT | LIN | LINE | LOCAL | LOOP | LOW COL | MEM | MERGE | MMOB | MOB OFF | MOB SET | MOD | MOVE | MULTI | MUSIC | NO ERROR | NRM | OFF | OLD | ON ERROR | ON KEY | OPTION | OUT | PAGE | PAINT | PAUSE | PENX | PENY | PLACE | PLAY | PLOT | POT | PROC | RCOMP | REC | RENUMBER | REPEAT | RESET | RESUME | RETRACE | RIGHT | RLOCMOB | ROT | SCRLD | SCRSV | SECURE | SOUND | TEST | TEXT | TRACE | UNTIL | UP | USE | VOL | WAVE