GSHAPE (BASIC 3.5)

From C64-Wiki
(Redirected from GSHAPE)
Jump to navigationJump to search
Under Construction Site / Sign
Language German TO Language:english
This article has recently been imported from the German C64-Wiki and not been translated yet. Please come back at a later time to read the English version of this article or help us.
BASIC keyword
Keyword: GSHAPE
Abbreviation: G SHIFT+S
Type: Function
Token code: $e3 (227)
Handling routine
in BASIC ROM:
List of all BASIC keywords


Remark: This article describes the BASIC function GSHAPE in Commodore BASIC V3.5 or higher.

Type: Function
General Programming-Syntax: GSHAPE string[,<coordinates>][, [<mode>] ]

The GSHAPE function...

Another sprite commands in BASIC 7.0 are MOVSPR, RSPCOLOR, RSPPOS, RSPRITE, SPRCOLOR, SPRITE, SPRDEF and SPRSAV, also BUMP, COLLISION, and SSHAPE.


Examples[edit | edit source]

10 COLOR 0,1:COLOR 1,2
20 GRAPHIC 1,1
30 BOX 1,4,4,19,19,,1
40 SSHAPE H$,0,0,0,0
50 SSHAPE V$,4,4,4,4
60 COLOR 0,3:COLOR 1,7
70 GSHAPE V$,4,4
80 GETKEY K$
90 GSHAPE H$,0,0

In diesem Beispiel wird zuerst ein weißes Quadrat auf schwarzem Hintergrund gemalt. Anschließend wird jeweils ein Hintergrund- und ein Vordergrundpixel in den Variablen H(intergrund)$ und V(ordergrund)$ gesichert. Dann werden der Hintergrundfarbe der Wert 3 (rot) und der Vordergrundfarbe der Wert 7 (blau) zugewiesen. Durch Zeichnen der Variable V$ wird diese Farbe aktiviert (obwohl sich das Bitmap selbst nicht ändert). Nach Drücken einer Taste wird zum Schluss auch die Hintergrundfarbe der Farbzelle auf rot geändert.

10 REM SHAPE IN VARIABLE EINLESEN
20 DO:READ D$
30 FOR I=1 TO LEN(D$)-1 STEP 2
40 SH$=SH$+CHR$(DEC(MID$(D$,I,2)))
50 NEXT
60 LOOP UNTIL RIGHT$(D$,1)="X"
70 GRAPHIC 1,1
80 REM MASKIERUNGS-SHAPE ERZEUGEN
90 BOX 1,8,8,35,32,,1
100 GSHAPE SH$,10,10
110 PAINT 1,10,10
120 SSHAPE MS$,10,10,33,33:GSHAPE MS$,10,10,1
130 GSHAPE SH$,10,10,2
140 SSHAPE MS$,10,10,33,33:GSHAPE MS$,10,10,1
150 SSHAPE MS$,10,10,33,33:REM MASKE SICHERN
160 REM HINTERGRUND ERSTELLEN
170 SCNCLR 1
180 FOR I=10 TO 180 STEP 32
190 FOR J=0 TO 20 STEP 5:DRAW 1,0,I+J TO 319,I+J:NEXT
200 NEXT
210 REM MASKE AUSGEBEN
220 FOR I=0 TO 4
230 FOR J=0 TO 5:GSHAPE MS$,10+J*50,41+32*I,I:NEXT
240 NEXT
250 REM SHAPE UEBER MASKE LEGEN
260 FOR I=0 TO 4
270 FOR J=0 TO 5:GSHAPE SH$,60+I*50,09+32*J,I:NEXT
280 NEXT
290 REM SHAPE ZERSTOERUNGSFREI UEBER BILDSCHIRM BEWEGEN
300 DO
310 X=INT(RND(1)*320):Y=INT(RND(1)*200)
320 GSHAPE SH$,X,Y,4
330 GETKEY K$
340 GSHAPE SH$,X,Y,4
350 LOOP UNTIL K$=CHR$(27)
360 DATA "02A0000000000700"
370 DATA "0005180005660005"
380 DATA "8180063860182818"
390 DATA "6038062000042000"
400 DATA "042000042F87C428"
410 DATA "85442887C4288544"
420 DATA "2C87C42880042880"
430 DATA "042880043FFFFC17"
440 DATA "001400X"

In diesem Beispiel wird die Pixelinformation eines Hauses aus den DATA-Zeilen in eine Variable eingelesen. Diese Grafik wird dann auf dem Grafikbildschirm ausgegeben und eine Ausgabemaske erzeugt. Anschließend werden zur Demonstration der verschiedenen Ausgabemodi Grafik-Shape und Masken-Shape gezeichnet. Schließlich wird das Grafik-Shape nach jeweils einem Tastendruck mit Modus 4 an zufälliger Position ausgegeben, ohne die Grafik dauerhaft zu zerstören.


BASIC V7.0 Commands

ABS | AND | APPEND | ASC | ATN | AUTO | BACKUP | BANK | BEGIN | BEND | BLOAD | BOOT | BOX | BSAVE | BUMP | CATALOG | CHAR | CHR$ | CIRCLE | CLOSE | CLR | CMD | COLLECT | COLLISION | COLOR | CONCAT | CONT | COPY | COS | DATA | DCLEAR | DCLOSE | DEC | DEF FN | DELETE | DIM | DIRECTORY | DLOAD | DO | DOPEN | DRAW | DS | DS$ | DSAVE | DVERIFY | EL | ELSE | END | ENVELOPE | ER | ERR$ | EXIT | EXP | FAST | FETCH | FILTER | FN | FOR | FRE | GET | GET# | GETKEY | GO64 | GOSUB | GOTO | GRAPHIC | GSHAPE | HEADER | HELP | HEX$ | IF | INPUT | INPUT# | INSTR | INT | JOY | KEY | LEFT$ | LEN | LET | LIST | LOAD | LOCATE | LOG | LOOP | MID$ | MONITOR | MOVSPR | NEW | NEXT | NOT | (OFF) | ON | OPEN | OR | PAINT | PEEK | PEN | (PI) | PLAY | POINTER | POKE | POS | POT | PRINT | PRINT USING | PRINT# | PUDEF | (QUIT) | RCLR | RDOT | READ | RECORD | REM | RENAME | RENUMBER | RESTORE | RESUME | RETURN | RGR | RIGHT$ | RND | RREG | RSPCOLOR | RSPPOS | RSPRITE | RUN | RWINDOW | SAVE | SCALE | SCNCLR | SCRATCH | SGN | SIN | SLEEP | SLOW | SOUND | SPC( | SPRCOLOR | SPRDEF | SPRITE | SPRSAV | SQR | SSHAPE | ST | STASH | STEP | STOP | STR$ | SWAP | SYS | TAB( | TAN | TEMPO | THEN | TI | TI$ | TO | TRAP | TROFF | TRON | USR | VAL | VERIFY | VOL | WAIT | WHILE | WINDOW | WIDTH | XOR