Files
paco/test.bas

129 lines
2.9 KiB
QBasic

'SETMUSIC 0 "O6L2BAGFEDC" PLAYMUSIC ' PLAYER SHOOT
'SETMUSIC 0 "O4L2BAGFEDC" PLAYMUSIC ' INVADER SHOOT
'SETMUSIC 0 "O4L3C<BAGFEDCDEFGAB>C<BAGFEDCDEFGAB>C" PLAYMUSIC ' BIG UFO
'SETMUSIC 3 "O5L2BAGFEDCV4BAGFEDV2CBAGFEDC" PLAYMUSIC ' EXPLOSION
SETCHAR 0 !00000101033F7F7F
SETCHAR 1 !0000000080F8FCFC
SETCHAR 2 !00423C5ABDA51800
SETCHAR 3 !0024BD5A3C244200
SETCHAR 4 !00817E99FF3C4200
SETCHAR 5 !00247E99FF3C1800
SETCHAR 6 !00183C5ADB7E2400
SETCHAR 7 !00183C5ADB7EDB00
SETCHAR 8 !00031F7F45FF3100
SETCHAR 9 !00C0F8FE92FF8C00
SETCHAR 10 !0925975F3FCF1200
SETCHAR 11 !2048D2F4F8E69000
SETCHAR 12 !1F3F7FFFFFFFFEFC
SETCHAR 13 !F8FCFEFFFFFF7F3F
SETCHAR 14 !013373FFFFFFFEFC
SETCHAR 15 !B89CD8FFFFFF7F3F
SETCHAR 16 !000042C2C7EFFEFC
SETCHAR 17 !0080C0D9DFFF7F3F
SETCHAR 18 !00000000008ADEFC
SETCHAR 19 !00000080C0D27733
SETCHAR 20 !FF00000000000000
SETCHAR 21 !00000000000000FF
BORDER INK_BLACK
COLOR INK_WHITE + PAPER_BLACK
CLS
' PINTEM EL MARCADOR
LOCATE 1 0 PRINT "0000"
COLOR INK_GRAY + PAPER_BLACK
LOCATE 0 1 PRINT !14141414141414141414141414141414
LOCATE 0 11 PRINT !15151515151515151515151515151515
COLOR INK_YELLOW + PAPER_BLACK
LOCATE 13 0 PRINT !E0E0E0
LET ITER = 0
LET HEIGHT = 0
LET ALIEN = 0
LET AX = 8
LET AY = 18
DIM A(3)
A(0) = &HFF
A(1) = &HFF
A(2) = &HFF
LET POS = 0
LET MASK = 1
'PINTEM ELS MARSIANITOS
FOR I = 0 TO 24
IF I < 6 THEN SETSPRITE I 4 INK_MAGENTA END
IF (I >= 6) AND (I < 12) THEN SETSPRITE I 2 INK_LIME END
IF (I >= 12) AND (I < 18) THEN SETSPRITE I 2 INK_LIME END
IF I >= 18 THEN SETSPRITE I 6 INK_CYAN END
PUTSPRITE I AX AY
AX = AX + 16
IF AX = 104 THEN
AX = 8
AY = AY + 10
END
END
' PINTEM AL JUGADOR
LET X = 32
SETSPRITE 24 0 INK_CYAN
SETSPRITE 25 1 INK_CYAN
PUTSPRITE 24 X 95
PUTSPRITE 25 X+8 95
' PINTEM LES BARRERES
COLOR INK_RED + PAPER_BLACK
LOCATE 1 10 PRINT !0C0D20200C0D20200C0D20200C0D20
UPDATESCR
MAIN_GAME:
' MOVEM AL JUGADOR
IF KEYPRESSED BTN_RIGHT THEN
INC X
IF X > 122 THEN X = 122 END
GOSUB DRAW_PLAYER
END
IF KEYPRESSED BTN_LEFT THEN
DEC X
IF X < 7 THEN X = 7 END
GOSUB DRAW_PLAYER
END
'MOVEM ALS MARSIANITOS
LET AX = 8 + ITER
LET AY = 18 + HEIGHT * 4
LET POS = 0
LET MASK = 1
FOR I = 0 TO 24
IF I = ALIEN THEN
INC ALIEN
IF ALIEN = 24 THEN
ALIEN = 0
IF (HEIGHT MOD 2) = 0 THEN INC ITER ELSE DEC ITER END
IF (ITER = 40) OR (ITER = 0) THEN INC HEIGHT END
END
IF (A(POS) AND MASK) = MASK THEN
PUTSPRITE I AX AY
GOTO ALIEN_FOUND
END
END
MASK = MASK * 2
IF MASK = 0 THEN
MASK = 1
INC POS
IF POS = 3 THEN POS = 0 END
END
AX = AX + 16
IF AX = 104 + ITER THEN
AX = 8 + ITER
AY = AY + 10
END
END
ALIEN_FOUND:
UPDATESCR
GOTO MAIN_GAME
DRAW_PLAYER:
PUTSPRITE 24 X 95
PUTSPRITE 25 X+8 95
RETURN
LOOP: GOTO LOOP