start tok64
5 print"{white}please wait..."
31 POKE56334,PEEK(56334)AND254:POKE1,PEEK(1)AND251
35 FORI=1TO63
36 FORJ=0TO7
37 POKE14336+I*8+J,PEEK(53248+I*8+J)
38 NEXTJ:NEXTI
70 FORI=14336+(29*8)TO14336+((29*8)+7):READA:POKEI,A:NEXTI:DATA112,189,167,78,17,47,45,119
71 FORI=14336+(33*8)TO14336+((33*8)+7):READA:POKEI,A:NEXTI:DATA13,189,229,18,232,244,116,238
72 FORI=14336+(35*8)TO14336+((35*8)+7):READA:POKEI,A:NEXTI:DATA254,221,231,176,219,95,10,63
73 FORI=14336+(36*8)TO14336+((36*8)+7):READA:POKEI,A:NEXTI:DATA123,187,229,13,171,218,176,252
74 FORI=14336+(37*8)TO14336+((37*8)+7):READA:POKEI,A:NEXTI:DATA3,27,118,104,208,128,96,31
75 FORI=14336+(38*8)TO14336+((38*8)+7):READA:POKEI,A:NEXTI:DATA3,193,48,17,185,90,242,194
76 FORI=14336+(39*8)TO14336+((39*8)+7):READA:POKEI,A:NEXTI:DATA96,127,185,182,25,103,250,111
77 FORI=14336+(40*8)TO14336+((40*8)+7):READA:POKEI,A:NEXTI:DATA55,229,243,181,135,101,249,171
78 FORI=14336+(41*8)TO14336+((41*8)+7):READA:POKEI,A:NEXTI:DATA248,84,186,126,176,102,170,64
79 FORI=14336+(42*8)TO14336+((42*8)+7):READA:POKEI,A:NEXTI:DATA235,116,232,116,232,116,232,235
80 FORI=14336+(43*8)TO14336+((43*8)+7):READA:POKEI,A:NEXTI:DATA64,170,102,176,126,186,84,248
81 FORI=14336+(44*8)TO14336+((44*8)+7):READA:POKEI,A:NEXTI:DATA60,126,253,245,233,241,66,60
82 FORI=14336+(45*8)TO14336+((45*8)+7):READA:POKEI,A:NEXTI:DATA32,16,96,240,183,110,153,14
83 FORI=14336+(46*8)TO14336+((46*8)+7):READA:POKEI,A:NEXTI:DATA0,170,85,254,127,170,85,0
84 FORI=14336+(47*8)TO14336+((47*8)+7):READA:POKEI,A:NEXTI:DATA137,211,135,202,192,137,210,132
85 FORI=14336+(58*8)TO14336+((58*8)+7):READA:POKEI,A:NEXTI:DATA41,128,53,160,46,4,117,117
86 FORI=14336+(59*8)TO14336+((59*8)+7):READA:POKEI,A:NEXTI:DATA255,42,255,153,187,255,153,187
87 FORI=14336+(60*8)TO14336+((60*8)+7):READA:POKEI,A:NEXTI:DATA146,84,0,198,0,84,146,0
88 FORI=14336+(61*8)TO14336+((61*8)+7):READA:POKEI,A:NEXTI:DATA1,252,20,252,84,252,36,252
89 FORI=14336+(62*8)TO14336+((62*8)+7):READA:POKEI,A:NEXTI:DATA0,170,85,255,85,255,255,255
90 FORI=14336+(63*8)TO14336+((63*8)+7):READA:POKEI,A:NEXTI:DATA255,255,255,85,255,85,170,0
91 POKE1,PEEK(1)OR4:POKE56334,PEEK(56334)OR1
92 POKE53272,(PEEK(53272)AND240)+14
93 POKE53270,PEEK(53270)OR16:POKE53280,0:poke53281,0:poke53282,9:poke53283,11
100 printchr$(147)
101 PRINT"{home}{dark gray}>>>>> >>>>> >>>>> >>>>> >>>>>":print"    > >     >     >   > >":print">>>>> >     >     >   > >>>>>"
102 PRINT"{pink};   ; ;     ;     ;   ;     ;":print"<=<=< =     <=<=< =<=<= <=<=<    {blue}for c64"
103 print:PRINT"{green}    c64 conversion by baron ashler":print:PRINT"{cyan} use joystick port2 to control the ship"
105 print:PRINT"{white}    copyright 2013  kabuto factory"
110 geta$:ifa$=""then110
200 REM var
210 V=5:FASE=1:PUNT=0:IALIEN=0:KQMAN=0:PAJARO=0
211 SHOT=10:IDISP=0
220 printchr$(147)
250 REM varf
251 Y=4:BX=12:BY=11:SX=BX:SY=BY:CX=-1:CY=-1:ALIEN=0:QMAN=0:PY=17:DX=3:DY=DY+1
252 b$="==;====;=;====;=====;;=======;==":a$=";;;;==;;;==;;;=;=;=;;=;;;;==;;=;"
253 h$=";;=;;=;;;;;==;;;;;;=;;=;;;;;;=;;"
260 REM dibujo fase
261 IFFASE=1ORFASE=6ORFASE=11THENGOSUB5000
262 IFFASE=2ORFASE=7ORFASE=12THENGOSUB5100
263 IFFASE=3ORFASE=8ORFASE=13THENGOSUB5200
264 IFFASE=4ORFASE=9ORFASE=14THENGOSUB5300
265 IFFASE=5ORFASE=10ORFASE=15THENGOSUB5400
266 IFFASE>15THENGOTO6000
300 REM inicio
305 PRINT"{home}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{red} stage ";FASE:FORF=0TO1000:NEXTF:PRINT"{home}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}          "
350 REM bucle
355 JY=PEEK(56320)
356 IFJY=126ANDY>2THENY=Y-1:poke1024+1+40*(Y+3),32:GOTO 360
357 IFJY=125ANDY<15THENY=Y+1:poke1024+1+40*(Y-1),32:GOTO 360
358 IFJY=111ANDSHOT>=1ANDIDISP=0THENIDISP=1:SHOT=SHOT-1:DY=Y+1:print"{home}{down}{red}";tab(15);SHOT;"{left}{dark gray}?"
360 poke55296+1+40*y,9:poke55296+1+40*(y+1),3:poke55296+1+40*(y+2),9
361 poke1024+1+40*y,41:poke1024+1+40*(y+1),42:poke1024+1+40*(y+2),43
365 BX=BX+(CX):BY=BY+(CY)
380 IFBX=0THENGOTO 1000
382 IFBX=31THENCX=-(CX)
385 IFBY<3THENCY=-(CY)
387 IFBY>16THENCY=-(CY)
390 IFIDISP=1ANDDX<32THENDX=DX+1
391 IFDX=32THENIDISP=0:poke1024+(dx-1)+40*dy,32:DX=3
400 REM colision raqueta
405 IFBY=YANDBY>2ANDBX=1THENCX=-(CX):CY=-1
410 IFBY=Y+1ANDBX=1THENCX=-(CX):CY=0
415 IFBY=Y+2ANDBY<17ANDBX=1THENCX=-(CX):CY=1
450 REM colision
451 C=1024+bx+40*by
452 D=PEEK(c)
455 IFD=29THENIALIEN=1:GOSUB1100
456 IFD=35THENIALIEN=1:GOSUB1150
457 IFD=33THENIALIEN=1:GOSUB1200
458 IFD=36THENIALIEN=1:GOSUB1250
459 IFD=37THENKQMAN=1:GOSUB1100
460 IFD=39THENKQMAN=1:GOSUB1150
461 IFD=38THENKQMAN=1:GOSUB1200
462 IFD=40THENKQMAN=1:GOSUB1250
463 IFD=47THENpoke55296+bx+40*by,15:poke1024+bx+40*by,58:poke1024+bx+40*by,32:CX=-(CX)
470 REM disparo
471 C=1024+dx+40*dy
472 D=PEEK(c)
475 IFD=29THENGOSUB1300
476 IFD=35THENGOSUB1350
485 IFD=37THENGOSUB1400
486 IFD=39THENGOSUB1450
550 IFBY=PYANDBX=10ANDPAJARO=1THENpoke55296+bx+40*by,15:poke1024+bx+40*by,58:poke1024+bx+40*by,32:CX=-(CX):PY=17
700 IFALIEN>=12THENGOTO1500
705 IFQMAN>=8THENGOTO1000
980 IFIDISP=1THENpoke55296+dx+40*dy,4:poke1024+dx+40*dy,46:poke1024+(dx-1)+40*dy,32
981 IFPAJARO=1ANDPY>1THENPY=PY-1:poke55296+10+40*py,4:poke1024+10+40*py,45:poke1024+10+40*(py+1),32
982 IFPY<=2THENpoke1024+10+40*py,32:PY=17
990 poke55296+bx+40*by,10:poke1024+bx+40*by,44:poke1024+sx+40*sy,32:SX=BX:SY=BY
999 GOTO350
1000 REM vida
1007 print"{home}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{yellow}";tab(8);"ouch":FORF=0TO1000:NEXTF:print"{home}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{yellow}";tab(8);"    "
1008 V=V-1:print"{home}{down}{red}";tab(28);V
1009 poke1024+1+40*y,32:poke1024+1+40*(y+1),32:poke1024+1+40*(y+2),32
1010 IFV<0THENprint"{home}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{red}";tab(6);"game over":FORF=0TO3000:NEXTF:GOTO100
1011 IFV>=0ANDQMAN=8THENGOTO250
1012 Y=4:BX=12:BY=11:GOTO300
1100 REM esq1
1104 poke55296+BX+40*by,15:poke55296+BX+40*(by+1),15:poke55296+(BX+1)+40*(by+1),15:poke55296+(BX+1)+40*by,15
1105 poke1024+BX+40*by,58:poke1024+BX+40*(by+1),58:poke1024+(BX+1)+40*(by+1),58:poke1024+(BX+1)+40*by,58
1106 poke1024+BX+40*by,32:poke1024+BX+40*(by+1),32:poke1024+(BX+1)+40*(by+1),32:poke1024+(BX+1)+40*by,32
1107 IFIALIEN=1THENPUNT=PUNT+100:ALIEN=ALIEN+1:IALIEN=0:print"{home}{down}{right}{red}";PUNT
1108 IFKQMAN=1THENQMAN=QMAN+1:KQMAN=0
1110 CX=-(CX)
1115 RETURN
1150 REM esq2
1151 poke55296+BX+40*by,15:poke55296+(BX+1)+40*by,15:poke55296+(BX+1)+40*(by-1),15:poke55296+BX+40*(by-1),15
1155 poke1024+BX+40*by,58:poke1024+(BX+1)+40*by,58:poke1024+(BX+1)+40*(by-1),58:poke1024+BX+40*(by-1),58
1156 poke1024+BX+40*by,32:poke1024+(BX+1)+40*by,32:poke1024+(BX+1)+40*(by-1),32:poke1024+BX+40*(by-1),32
1157 IFIALIEN=1THENPUNT=PUNT+100:ALIEN=ALIEN+1:IALIEN=0:print"{home}{down}{right}{red}";PUNT
1158 IFKQMAN=1THENQMAN=QMAN+1:KQMAN=0
1160 CX=-(CX)
1165 RETURN
1200 REM esq3
1204 poke55296+BX+40*by,15:poke55296+(BX-1)+40*by,15:poke55296+(BX-1)+40*(by+1),15:poke55296+BX+40*(by+1),15
1205 poke1024+BX+40*by,58:poke1024+(BX-1)+40*by,58:poke1024+(BX-1)+40*(by+1),58:poke1024+BX+40*(by+1),58
1206 poke1024+BX+40*by,32:poke1024+(BX-1)+40*by,32:poke1024+(BX-1)+40*(by+1),32:poke1024+BX+40*(by+1),32
1207 IFIALIEN=1THENPUNT=PUNT+100:ALIEN=ALIEN+1:IALIEN=0:print"{home}{down}{right}{red}";PUNT
1208 IFKQMAN=1THENQMAN=QMAN+1:KQMAN=0
1210 CX=-(CX)
1215 RETURN
1250 REM esq4
1251 poke55296+BX+40*by,15:poke55296+BX+40*(by-1),15:poke55296+(BX-1)+40*(by-1),15:poke55296+(BX-1)+40*by,15
1255 poke1024+BX+40*by,58:poke1024+BX+40*(by-1),58:poke1024+(BX-1)+40*(by-1),58:poke1024+(BX-1)+40*by,58
1256 poke1024+BX+40*by,32:poke1024+BX+40*(by-1),32:poke1024+(BX-1)+40*(by-1),32:poke1024+(BX-1)+40*by,32
1257 IFIALIEN=1THENPUNT=PUNT+100:ALIEN=ALIEN+1:IALIEN=0:print"{home}{down}{right}{red}";PUNT
1258 IFKQMAN=1THENQMAN=QMAN+1:KQMAN=0
1260 CX=-(CX)
1265 RETURN
1300 REM esqd
1301 poke55296+dX+40*dy,15:poke55296+dX+40*(dy+1),15:poke55296+(dX+1)+40*(dy+1),15:poke55296+(dX+1)+40*dy,15
1305 poke1024+dX+40*dy,58:poke1024+dX+40*(dy+1),58:poke1024+(dX+1)+40*(dy+1),58:poke1024+(dX+1)+40*dy,58
1306 poke1024+dX+40*dy,32:poke1024+dX+40*(dy+1),32:poke1024+(dX+1)+40*(dy+1),32:poke1024+(dX+1)+40*dy,32
1307 ALIEN=ALIEN+1:PUNT=PUNT+100
1308 IDISP=0:poke1024+(dx-1)+40*dy,32:DX=3
1309 print"{home}{down}{right}{red}";PUNT
1310 RETURN
1350 REM esqd2
1351 poke55296+dX+40*dy,15:poke55296+(dX+1)+40*dy,15:poke55296+(dX+1)+40*(dy-1),15:poke55296+dX+40*(dy-1),15
1355 poke1024+dX+40*dy,58:poke1024+(dX+1)+40*dy,58:poke1024+(dX+1)+40*(dy-1),58:poke1024+dX+40*(dy-1),58
1356 poke1024+dX+40*dy,32:poke1024+(dX+1)+40*dy,32:poke1024+(dX+1)+40*(dy-1),32:poke1024+dX+40*(dy-1),32
1357 ALIEN=ALIEN+1:PUNT=PUNT+100
1358 IDISP=0:poke1024+(dx-1)+40*dy,32:DX=3
1359 print"{home}{down}{right}{red}";PUNT
1360 RETURN
1400 REM eqsd3
1401 poke55296+dX+40*dy,15:poke55296+dX+40*(dy+1),15:poke55296+(dX+1)+40*(dy+1),15:poke55296+(dX+1)+40*dy,15
1405 poke1024+dX+40*dy,58:poke1024+dX+40*(dy+1),58:poke1024+(dX+1)+40*(dy+1),58:poke1024+(dX+1)+40*dy,58
1406 poke1024+dX+40*dy,32:poke1024+dX+40*(dy+1),32:poke1024+(dX+1)+40*(dy+1),32:poke1024+(dX+1)+40*dy,32
1407 QMAN=QMAN+1
1408 IDISP=0:poke1024+(dx-1)+40*dy,32:DX=3
1410 RETURN
1450 REM esqd4
1451 poke55296+dX+40*dy,15:poke55296+(dX+1)+40*dy,15:poke55296+(dX+1)+40*(dy-1),15:poke55296+dX+40*(dy-1),15
1455 poke1024+dX+40*dy,58:poke1024+(dX+1)+40*dy,58:poke1024+(dX+1)+40*(dy-1),58:poke1024+dX+40*(dy-1),58
1456 poke1024+dX+40*dy,32:poke1024+(dX+1)+40*dy,32:poke1024+(dX+1)+40*(dy-1),32:poke1024+dX+40*(dy-1),32
1457 QMAN=QMAN+1
1458 IDISP=0:poke1024+(dx-1)+40*dy,32:DX=3
1460 RETURN
1500 REM pasa
1505 print"{home}{down}{down}{down}{down}{down}{down}{down}{down}{green}";tab(7);"stage clear"
1506 SUMA=(8-QMAN)*2000:print:PRINT"{cyan}  %&":PRINT"  '( x 2000   ";SUMA:SUMAB=SUMA
1507 FORF=0TOSUMASTEP100:PUNT=PUNT+100:SUMAB=SUMAB-100:print"{home}{down}{right}{white}";PUNT:NEXT F
1508 IFQMAN>4THENprint:PRINT"{blue}blast bonus":SHOT=SHOT+1
1509 IFQMAN<=4ANDQMAN>=1THENprint:PRINT"{blue}super blast bonus":SHOT=SHOT+3
1510 IFQMAN=0THENprint:PRINT"{blue}mega blast bonus":SHOT=SHOT+5
1511 FORF=0TO3000:NEXTF
1519 FASE=FASE+1:IDISP=0
1520 GOTO250
5000 REM pinf1
5005 printchr$(147)
5015 PRINT"{home}{brown}>{yellow}score{brown}>>>>>>>{yellow}blasts{brown}>>>>>>>{yellow}lives{brown}>":PRINT"{dark gray}????????????????????????????????"
5017 PRINT"{home}{down}{right}{red}";PUNT;tab(15);"{red}";SHOT;tab(28);"{red}";V
5020 print"{home}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{blue}";b$;"{purple}":printa$
5021 print"{white}";h$
5022 E$="{blue}%& %& %& %&":F$="{light gray}'( '( '( '("
5023 C$="{brown}]! ]! ]! ]!":D$="{light green}#$ #$ #$ #$"
5025 print"{home}{down}{down}{down}";tab(20);c$:printtab(20);d$:print:printtab(20);c$:printtab(20);d$:print:printtab(20);c$:printtab(20);d$:print
5026 printtab(20);e$:printtab(20);f$:print:printtab(20);e$:printtab(20);f$
5027 IFFASE>5THENGOSUB7010
5028 IFFASE>10THENGOSUB7020
5030 RETURN
5100 REM pinf2
5105 printchr$(147)
5115 PRINT"{home}{brown}>{yellow}score{brown}>>>>>>>{yellow}blasts{brown}>>>>>>>{yellow}lives{brown}>":PRINT"{dark gray}????????????????????????????????"
5117 PRINT"{home}{down}{right}{red}";PUNT;tab(15);"{red}";SHOT;tab(28);"{red}";V
5120 print"{home}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{blue}";b$;"{purple}":printa$
5121 print"{white}";h$
5122 E$="{blue}%& %& %& %&":F$="{light gray}'( '( '( '("
5123 C$="{brown}]! ]! ]! ]!":D$="{light green}#$ #$ #$ #$"
5125 print"{home}{down}{down}{down}";tab(20);e$:printtab(20);f$:print:printtab(20);c$:printtab(20);d$:print:printtab(20);c$:printtab(20);d$:print
5126 printtab(20);c$:printtab(20);d$:print:printtab(20);e$:printtab(20);f$
5127 IFFASE>5THENGOSUB7010
5128 IFFASE>10THENGOSUB7020
5130 RETURN
5200 REM pinf3
5205 printchr$(147)
5215 PRINT"{home}{brown}>{yellow}score{brown}>>>>>>>{yellow}blasts{brown}>>>>>>>{yellow}lives{brown}>":PRINT"{dark gray}????????????????????????????????"
5217 PRINT"{home}{down}{right}{red}";PUNT;tab(15);"{red}";SHOT;tab(28);"{red}";V
5220 print"{home}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{blue}";b$;"{purple}":printa$
5221 print"{white}";h$
5222 c$="{brown}]! ]!{blue} %& %&":d$="{light green}#$ #${light gray} '( '("
5223 e$="{brown}]! ]! ]! ]!":f$="{light green}#$ #$ #$ #$"
5225 print"{home}{down}{down}{down}";tab(20);c$:printtab(20);d$:print:printtab(20);c$:printtab(20);d$:print:printtab(20);e$:printtab(20);f$:print
5226 printtab(20);c$:printtab(20);d$:print:printtab(20);c$:printtab(20);d$
5227 IFFASE>5THENGOSUB7010
5228 IFFASE>10THENGOSUB7020
5230 RETURN
5300 REM pinf4
5305 printchr$(147)
5315 PRINT"{home}{brown}>{yellow}score{brown}>>>>>>>{yellow}blasts{brown}>>>>>>>{yellow}lives{brown}>":PRINT"{dark gray}????????????????????????????????"
5317 PRINT"{home}{down}{right}{red}";PUNT;tab(15);"{red}";SHOT;tab(28);"{red}";V
5320 print"{home}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{blue}";b$;"{purple}":printa$
5321 print"{white}";h$
5322 E$="{blue}%& %& %& %&":F$="{light gray}'( '( '( '("
5323 C$="{brown}]! ]! ]! ]!":D$="{light green}#$ #$ #$ #$"
5325 print"{home}{down}{down}{down}";tab(20);c$:printtab(20);d$:print:printtab(20);e$:printtab(20);f$:print:printtab(20);c$:printtab(20);d$:print
5326 printtab(20);e$:printtab(20);f$:print:printtab(20);c$:printtab(20);d$
5327 IFFASE>5THENGOSUB7010
5328 IFFASE>10THENGOSUB7020
5330 RETURN
5400 REM pinf5
5405 printchr$(147)
5415 PRINT"{home}{brown}>{yellow}score{brown}>>>>>>>{yellow}blasts{brown}>>>>>>>{yellow}lives{brown}>":PRINT"{dark gray}????????????????????????????????"
5417 PRINT"{home}{down}{right}{red}";PUNT;tab(15);"{red}";SHOT;tab(28);"{red}";V
5420 print"{home}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{blue}";b$;"{purple}":printa$
5421 print"{white}";h$
5422 c$="{brown}]!{blue} %&{brown} ]!{blue} %&":d$="{light green}#${light gray} '({light green} #${light gray} '("
5423 e$="{brown}]! ]! ]! ]!":f$="{light green}#$ #$ #$ #$"
5425 print"{home}{down}{down}{down}";tab(20);c$:printtab(20);d$:print:printtab(20);c$:printtab(20);d$:print:printtab(20);e$:printtab(20);f$:print
5426 printtab(20);c$:printtab(20);d$:print:printtab(20);c$:printtab(20);d$
5427 IFFASE>5THENGOSUB7010
5428 IFFASE>10THENGOSUB7020
5430 RETURN
6000 REM final
6003 printchr$(147):PRINT"{home}{green}you have defeated all aliens":PRINT:PRINT "{white}        congratulations":print:PRINT "{cyan}thank you for playing"
6004 print:PRINT"{dark gray}>>>>> >>>>> >>>>> >>>>> >>>>>":print"    > >     >     >   > >":print">>>>> >     >     >   > >>>>>"
6005 PRINT"{pink};   ; ;     ;     ;   ;     ;":print"<=<=< =     <=<=< =<=<= <=<=<    {blue}for c64"
6010 geta$:ifa$=""then6010
6020 GOTO100
7000 REM obstaculos
7010 FORN=5TO8:poke55296+16+40*n,11:poke1024+16+40*n,47:NEXTN
7012 RETURN
7020 FORN=12TO15:poke55296+16+40*n,11:poke1024+16+40*n,47:NEXTN
7021 PAJARO=1
7022 RETURN
stop tok64