Auto 1 # Run-time Variables Var x: Num = 3 Var y: Num = 16 Var s: Num = 18 Var z: Num = 8 Var l: Num = 6 Var c: Num = 387729 Var colornave: Num = 5 Var colordisparonave: Num = 2 Var disparonaveatras: Num = 2 Var longcanon: Num = 8 Var difcanon: Num = 0,3 Var edisparo: Num = 10 Var impactocanon: Num = 20 Var impactoreactor: Num = 200 Var recargareactor: Num = 20 Var destrcanon: Num = 500 Var yn: Num = 4,0677795 Var demo: Num = 0 Var ang: Num = 1,15 Var canon: Num = 1 Var cs: Num = 0,40848744 Var sn: Num = 0,91276394 Var radio: Num = 12 Var decimas: Num = 20 Var fase: Num = 2 Var alcance: Num = 7 Var fin: Num = 0 Var xa: Num = 3 Var ya: Num = 16 Var puntos: Num = 70 Var record: Num = 2000 Var ereactor: Num = 4180 Var inc: Num = -10 Var ca: Num = 1 Var efinal: Num = 70 Var maxe: Num = 200 Var xec: Num = 15 Var yactual: Num = 24 Var yfinal: Num = 24 Var dye: Num = 2 Var is: Num = -2 Var naves: Num = 10 Var pp: Num = 0,59 Var dir: Num = -1 Var mintn: Num = 0,41 Var tn: Num = 0,81443665 Var tiponave: Num = 1 Var puntosnave: Num = 20 Var impactosnave: Num = 1 Var longnave: Num = 4 Var lo: Num = -3 Var xn: Num = 31 Var xnfin: Num = -3 Var col: Num = 19 Var prob: Num = 0,0020277235 Var xxn: Num = 6 Var xn1: Num = 1 Var xn2: Num = 4 Var blanco: Num = 1 Var cssn: Num = 0,44752802 Var xnn: Num = 7,3402078 Var dif: Num = 1,3402078 Var xca: Num = 36,9867237 Var yca: Num = 64,0808067 Var colordisparo: Num = 4 Var dy: Num = 56,5046425 Var dx: Num = 25,2874108 Var rexpl: Num = 1 Var xe: Num = 62,2741345 Var ye: Num = 118,585449 Var mx: Num = 21 Var my: Num = 10 Var atras: Num = 10 Var rango: Num = 21 Var xblanco: Num = 13 Var x2: Num = 104 Var y2: Num = 40 Var x1: Num = 100 Var y1: Num = 86,473389 Var recarga: Num = 10 Var cambio: Num = 1 Var xexp: Num = 15 Var yexp: Num = 19 Var xx: Num = 27,6465454 Var yy: Num = 16,9935913 Var dec: Num = 800 Var p1: Num = 0,78539816 Var p2: Num = 0,31415927 Var r: NumArray(10) = 2000, 1810, 1800, 1600, 1400, 1200, 1000, 800, 600, 400 Var c: NumArray(4, 8) = 28, 44, 1,2, 0,5, 1,15, 12, 70, 200, 84, 44, 2, 0,8, 1,87, 7, 160, 160, 172, 44, 2,2, 1, 1,57, 7, 160, 160, 228, 44, 2,6415927, 1,9415927, 2,2915927, 12, 200, 200 Var i: NumFOR = 9,3018188, 8,3018188, 1, 2540, 2 Var j: NumFOR = 19, 18, 1, 7530, 8 Var m: NumFOR = 2, 0, -0,314159265, 6610, 5 Var n: NumFOR = 15, 10, 5, 2500, 4 Var p: NumFOR = 1, 4, 1, 5520, 3 Var k: NumFOR = 0, 1, -1, 6510, 2 Var o$: Str = "o" Var p$: Str = "p" Var q$: Str = "q" Var a$: Str = "a" Var f$: Str = " " Var g$: Str = "7" Var c$: Str = "" Var v$: Str = "\a\a\a" Var s$: Str = " 4180 " Var h$: Str = "\a" Var k$: Str = " " Var n$: Str = "\r\..\u " Var m$: Str = "\s\t\'' " Var r$: StrArray(10, 10) = "Eddie1 eddie the Eddie2 Eddie3 Eddie4 Eddie5 Eddie6 Eddie7 Eddie8 Eddie9 " Var e$: StrArray(9, 54) = " \p\::\q \k\l\m \k\l\m \p\::\q \{i0} \{i7}\:: \::\{i0} \{i7}\n \o\{i0} \{i7}\n \o\{i0} \{i7}\:: \::\{i0} \{i1}\::\::\::\{i7} \{i1}\::\::\::\::\::\::\{i7} \{i1}\::\::\{i1}\''\''\''\''\''\''\{i1}\::\::\{i7} \{i1}\::\::\::\::\::\::\{i7} \{i1}\::\::\::\{i1}\::\::\::\{i7} \{i1}\::\::\::\::\::\::\{i7} \{i1}\::\::\{i5} \::\ :\: \:: \{i1}\::\::\{i7} \{i1}\::\::\::\::\::\::\{i7} \{i1}\::\::\::\{i1}\::\::\::\{i7} \{i1}\::\::\::\::\::\::\{i7} \{i1}\::\::\{i5}\''\::\':\:'\::\''\{i1}\::\::\{i7} \{i1}\::\::\::\::\::\::\{i7} \{i1}\::\::\::\{i1}\::\::\::\{i7} \{i1}\::\::\::\::\::\::\{i7} \{i1}\::\::\{i5} \''\ '\' \'' \{i1}\::\::\{i7} \{i1}\::\::\::\::\::\::\{i7} \{i1}\::\::\::\{i1}\::\::\::\{i7} \{i7} \{i7} \{i7} \{i7} \{i7} \{i7} \{i7} \{i7} \{i1}\::\::\::\{i1}\::\::\::\{i1}\::\{i1}\::\::\::\::\::\::\{i1}\::\{i1}\::\::\{i1}\::\::\::\::\::\::\{i1}\::\::\{i1}\::\{i1}\::\::\::\::\::\::\{i1}\::\{i1}\::\::\::\{i1}\::\::\::\{i1}\::\{i1}\::\::\::\::\::\::\{i1}\::\{i1}\::\::\{i1}\::\::\::\::\::\::\{i1}\::\::\{i1}\::\{i1}\::\::\::\::\::\::\{i1}\::\{i1}\::\::\::" Var t$: StrArray(14, 28) = " \c\::\:: \a\::\b \b \:: \a\::\b \a\d \:: \:: \::\b\:: \:: \:: \::\::\:: \:: \:: \::\::\:: \::\::\:: \a\d \:: \:: \::\c\:: \:: \:: \::\::\b \c\::\d \:: \c \:: \:: \ :\e\ :\'' \ :\ :\ :\'' \ '\f\ '\'' \a\::\d \a\::\b \::\b\a\:: \::\::\b \a\::\b \::\::\:: \::\::\b\:: \:: \:: \::\c\d\:: \::\a\d \:: \:: \:: \:: \:: \:: \:: \:: \:: \::\::\b \::\::\:: \:: \::\::\::\:: \:: \:: \:: \:: \:: \:: \:: \:: \:: \:: \c\::\b \c\::\d \:: \:: \::\::\d \:: \:: \:: \::\::\d" Var d$: StrArray(7, 34) = "\{i7} \b \d \a \{i7} \a\a\ :\::\. \d \a\e\::\. \c\b\c\c\d\.:\::\b\c\e\::\:.\b\d\a \{i1}\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\{i1}\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\{i1}\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\{i1}\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\{i1}\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::" # End Run-time Variables 1 REM **************************** 2 REM *** *** 3 REM *** ZONA DE COMBATE *** 4 REM *** *** 5 REM *** \* EddieTheWild, 2006 *** 6 REM *** *** 7 REM *** V1.1 *** 8 REM *** *** 9 REM **************************** 10 LOAD "ZonaDeCombate.scr"SCREEN$ : CLEAR 65199: LOAD "zc-udgs"CODE 65200: REM UDGs char 1 & 2, minusculas 11 : REM para ver si hay pasillo 15 RANDOMIZE : BORDER 0: PAPER 0: CLS : PRINT FLASH 1; INK 2;AT 12,9;"Para la cinta": FOR i=69 TO 0 STEP -3: BEEP .005,i: NEXT i: GO SUB 9080: POKE 23658,0: GO SUB 9890: REM UDGs char 1 & 2, minusculas 18 : 19 REM inicializacion prograna, con posile reentrada 20 BORDER 0: PAPER 0: OVER 0: FLASH 0: INVERSE 0: CLS : GO SUB 9400: GO SUB 9600: REM inicializacion variables, intro 30 GO SUB 8100: REM menu, records, titulo 40 GO SUB 7000: REM nueva partida 50 GO SUB 7500: REM nueva fase 97 REM 98 REM 99 REM 297 : 298 REM BUCLE PRINCIPAL 299 REM 300 REM Salimos si fin=1 (death canon), fin=2 game over reactor, fin=3 death quit 500 REM 510 REM control hombre 520 REM 550 LET k$=INKEY$ 560 IF k$="" THEN LET h$="\a": GO TO 680: 564 REM backdoor perdida vida 565 IF k$="0" THEN LET fin=3: GO TO 6000 567 IF k$="Q" THEN LET fin=4: GO TO 6700: REM game over 569 REM TECLA DISPARO 570 IF k$=f$ AND canon THEN GO SUB 2100: IF fin=0 THEN GO TO 1000 575 IF fin=-1 THEN GO SUB 5500: GO TO 50: REM nueva fase 577 IF fin>0 THEN GO TO 6000: REM una vida menos o fin partida 580 : REM TECLA IZQUIERDA 590 IF k$<>o$ THEN GO TO 630 600 IF canon=0 THEN GO TO 620 605 LET ang=c(canon,5): IF ang+difcanon>c(canon,3) THEN GO TO 1000 610 GO SUB 2000: LET ang=ang+difcanon: GO SUB 2000: LET c(canon,5)=ang: GO TO 1000: REM giro canon 620 IF ATTR (y,x-1)=7 THEN LET x=x-1: LET h$=("\d" AND (h$="\e" OR h$="\a"))+("\e" AND h$="\d"): GO TO 680: 629 REM TECLA DERECHA 630 IF k$<>p$ THEN GO TO 660 640 IF canon=0 THEN GO TO 650 645 LET ang=c(canon,5): IF (ang-difcanon)x OR ya<>y THEN PRINT AT ya,xa; INK 7;" ": LET xa=x: LET ya=y: REM BEEP .002,10 690 PRINT AT y,x; INK 7; BRIGHT 1-(x=16);h$ 997 REM 998 REM Control nave 999 REM 1000 REM 1010 LET xxn=xn: LET xn1=1: LET xn2=longnave: IF xn<0 THEN LET xxn=0: LET xn1=-xn+1: GO TO 1030 1020 IF xn+longnave>31 THEN LET xn2=32-xn 1030 PRINT PAPER 0; INK colornave;AT yn,xxn;n$(xn1 TO xn2);AT yn+1,xxn;m$(xn1 TO xn2) 1040 BEEP .002,10: IF xn>1 AND xn<31-longnave*(dir=1) AND (RND0 THEN GO TO 6000: REM disparo en reactor o en canon con hombre 1050 IF xn=xnfin THEN GO SUB 3200: GO TO 300: REM nueva nave 1080 LET xn=xn+dir 1090 GO TO 300: REM ciclamos 1997 REM 1998 REM Dibujo del canon "canon" en angulo "ang" 1999 REM 2000 LET sn=SIN ang: LET cs=COS ang: LET cssn=cs/sn: LET radio=c(canon,6): PLOT INK 7;c(canon,1)+radio*cs,c(canon,2)+radio*sn: DRAW OVER 1; INK 7;longcanon*cs,longcanon*sn: RETURN 2097 REM 2098 REM Disparo canon "canon" 2099 REM 2100 GO SUB 2300: REM blanco=1 si hay impacto 2110 LET xca=c(canon,1)+(c(canon,6)+longcanon+2)*cs: LET yca=c(canon,2)+(c(canon,6)+longcanon+2)*sn: LET colordisparo=4 2120 IF blanco THEN LET dy=175-(yn+1)*8-yca+4: LET dx=dy*cssn: GO TO 2140 2130 LET dy=175-yca: LET dx=dy*cssn 2140 PLOT PAPER 8; INK colordisparo;xca,yca: DRAW PAPER 8; INK colordisparo;dx,dy 2150 FOR i=69 TO 0 STEP -10: BEEP .001,i: NEXT i 2155 LET ca=canon: LET inc=-edisparo: GO SUB 7300: IF fin THEN RETURN : REM Perdida de una vida o fin partida. Se trata en prog. principal 2160 PLOT OVER 1; PAPER 8; INK 7;xca,yca: DRAW OVER 1; PAPER 8; INK 7;dx,dy 2170 IF blanco=0 THEN RETURN 2175 LET impactosnave=impactosnave-1: IF impactosnave>0 THEN LET rexpl=0.5: GO SUB 2500: RETURN 2180 LET rexpl=1: GO SUB 2500: LET puntos=puntos+puntosnave: GO SUB 3200: GO SUB 7700: LET naves=naves-1: IF naves=0 THEN LET fin=-1: RETURN : REM fase completa. Se trata en programa principal 2190 PRINT INK 3;AT 8,9;"quedan ";naves;" naves": PAUSE 20: PRINT AT 8,0,, 2280 RETURN 2180 2297 REM 2298 REM Verificacion impacto a nave, blanco=1 si es asi 2299 REM 2300 LET blanco=0 2320 LET xnn=x+cssn*(16-yn): REM PRINT AT yn,xnn; INK 3;"*" 2330 LET dif=xnn-(xn-dir): IF 0<=dif AND dif<(longnave-1) THEN LET blanco=1: REM PRINT #0;AT 1,5; PAPER 3; INK 9;"FIRE": 2340 RETURN 2497 REM 2498 REM Explosion nave en xca+dx, dya+dy, con tamano rexpl 2499 REM 2500 LET xe=xca+dx: LET ye=yca+dy-2: FOR n=5 TO 5+5*rexpl STEP 5 2510 LET mx=rexpl*INT (RND+2*n+1.4): LET my=rexpl*INT (RND+n): 2520 INK 7: PLOT xe+mx,ye: DRAW -2*mx,0: PLOT xe,ye+my: DRAW 0,-2*my: PLOT xe+mx/2,ye+my/2: DRAW -mx,-my: INK 6: PLOT xe-mx/2,ye+my/2: DRAW mx,-my: PLOT xe-x/2,ye+my: DRAW mx,-2*my: PLOT xe+mx/2,ye+my: DRAW -mx,-2*my: INK 2: PLOT xe+mx,ye+my/2: DRAW -2*mx,-my: PLOT xe+mx,ye-my/2: DRAW -2*mx,my 2530 NEXT n: FOR i=1 TO 50 STEP 5: BEEP .01,-i: NEXT i 2540 FOR i=yn-1 TO yn+2: PRINT PAPER 0;AT i,0,,: NEXT i: RETURN 2997 : 2998 REM Disparo de la nave 2999 REM 3000 LET atras=(xn+longnave-1-disparonaveatras AND dir=1): LET rango=(31-atras AND dir=1)+(xn+disparonaveatras AND dir=-1): LET xblanco=INT (atras+rango*RND) 3010 LET x2=xblanco*8: LET y2=175-17*8+1: LET x1=(xn+(longnave-1)*(dir=1))*8+4: LET y1=175-(yn+1)*8-4: 3020 REM PRINT OVER 1; INK 8;AT 17,xblanco;"*"; 3030 FOR i=x2 TO x2+alcance STEP 2: PLOT OVER 1; PAPER 8; INK colordisparonave;x1,y1: DRAW OVER 1; PAPER 8; INK colordisparonave;(i-x1),(y2-y1): BEEP .005,69: OUT 254,RND*255: NEXT i: BORDER 0 3050 FLASH 8: FOR i=x2 TO x2+alcance STEP 2: PLOT OVER 1; PAPER 8; INK 7;x1,y1: DRAW OVER 1; PAPER 8; INK 7;(i-x1),(y2-y1): NEXT i: REM restaura los atributos originales en (16,xblanco) 3060 REM PRINT OVER 1; INK 8;AT 17,xblanco;"*"; 3070 IF demo=0 THEN GO SUB 4000: REM comprobacion disparo nave en xblanco 3090 RETURN 3197 REM 3198 REM Inicializacion nave 3199 REM 3200 LET yn=10*RND+1: LET prob=fase/(2.5*fase+4)*RND: LET tn=pp*RND+(1-pp): LET dir=1-2*(RND<.5): REM PRINT AT 0,0;"prob:";prob;" tn:";tn;" dir:";dir 3210 IF tn<.5 THEN GO TO 3220 3212 LET tiponave=1: IF dir=1 THEN LET n$=" \n\..\p": LET m$=" \''\o\s": GO TO 3290 3215 LET n$="\r\..\u ": LET m$="\s\t\'' ": GO TO 3290 3220 IF tn<.3 THEN GO TO 3230 3222 LET tiponave=2: IF dir=1 THEN LET n$=" \n\..\..\p": LET m$=" \''\o_\s": GO TO 3290 3225 LET n$="\r\..\..\u ": LET m$="\s_\t\'' ": GO TO 3290 3230 IF tn<.1 THEN GO TO 3240 3232 LET tiponave=3: IF dir=1 THEN LET n$=" \n\l\l\..\.:\k": LET m$=" \''\o\o_ \m": GO TO 3290 3235 LET n$="\j\:.\..\l\l\u ": LET m$="\q _\t\t\'' ": GO TO 3290 3240 LET tiponave=4: IF dir=1 THEN LET n$=" \n\l\n\l\n\..\::\l\k": LET m$=" \o \o \o_\m\o\m": GO TO 3290 3245 LET n$="\j\l\::\..\u\l\u\l\u ": LET m$="\q\t\q_\t \t \t ": GO TO 3290 3290 LET puntosnave=10*tiponave*fase: LET impactosnave=tiponave: LET longnave=LEN n$: LET lo=-longnave+1: LET xn=lo*(dir=1)+31*(dir=-1): LET xnfin=31*(dir=1)+lo*(dir=-1): RETURN 3997 : 3998 REM comprobacion impacto disparo nave en xblanco 3999 REM 4000 IF xblanco<13 OR xblanco>18 THEN GO TO 4500: REM No ha dado encima del reactor 4010 IF ATTR (17,xblanco)=0 THEN LET dec=impactoreactor*longnave: LET ereactor=(ereactor-dec)*(ereactor>dec): GO SUB 7200: IF ereactor=0 THEN LET fin=2: RETURN : REM ha dado en el reactor. Se trata en el prog. principal 4020 PRINT PAPER 0; INK 0;AT 17,xblanco;" ": FOR i=0 TO -20 STEP -2: BEEP .01,i: NEXT i: RETURN 4499 REM No ha dado encima del reactor 4500 IF PEEK (20448+xblanco)=0 THEN RETURN : REM no ha dado a ningun canon 4510 LET ca=INT (xblanco/8)+1: LET inc=-impactocanon*(longnave-3): GO SUB 7300: RETURN : REM le quita energia al canon. Puede devolver fin>0 si acaba explotando 997 : 4998 REM Explosion canon ca devuelve fin=1 muerte hombre, fin=2 explosion reactor 4999 REM 5000 REM 5010 LET xexp=(c(ca,1)-4)/8: LET yexp=21-c(ca,2)/8: REM PRINT INK 7;AT yexp,xexp;"*": PAUSE 0 5020 FOR j=2 TO 4 STEP 2: FOR i=1 TO 6 5030 LET xx=xexp+(j*RND-j/2): LET yy=yexp+(j*RND-j/2): LET s$=CHR$ (14*RND+129): PRINT OVER 1; PAPER 8; INK 2;AT yy,xx;s$: BEEP .005,40: OUT 254,255*RND: REM PRINT OVER 1; PAPER 8; INK 0;AT yy,xx;s$ 5040 NEXT i: NEXT j: BORDER 0: IF fin=2 THEN RETURN : REM invocado desde explosion reactor 5050 FOR i=yexp-2 TO yexp: PRINT PAPER 0; INK 0;AT i,xexp-2;" ": NEXT i: FOR i=yexp+1 TO yexp+5: PRINT PAPER 0; INK (0 AND i=yexp+1)+(1 AND i>yexp+1);AT i,xexp-1;"\::\::\::": NEXT i 5200 LET ereactor=ereactor-destrcanon: IF ereactor<0 THEN LET fin=2: RETURN : REM fin partida 5210 IF ca=canon THEN LET fin=1: RETURN : REM una vida menos 5220 GO SUB 7700: RETURN 5497 : 5498 REM Fase completa 5499 REM 5500 PRINT INK 3; FLASH 1; PAPER 0;AT 5,7;"Fase ";fase;" completada!!": FOR j=1 TO 3: FOR i=20 TO 40 STEP 2: BEEP .01,i: PRINT INK 7;AT y,x;"\h": BEEP .01,40-i: PRINT INK 7;AT y,x;"\a": NEXT i: NEXT j 5510 LET recarga=150*fase: GO SUB 9180: PRINT INK 3; PAPER 0;AT 7,7;"Recarga ca\gones: ";recarga: GO SUB 9080: FOR i=10 TO 40 STEP 3: BEEP .001,i: NEXT i 5520 LET cambio=0: FOR p=1 TO 4: IF c(p,7)>=0 AND c(p,7)0 THEN PRINT INK 3; PAPER 0;AT 9,7;"Recarga reactor: ";recarga;" ": LET ereactor=ereactor+recargareactor: PRINT INK 7;AT y,x;"\a": GO SUB 7200: LET recarga=recarga-10: BEEP .001,40: PRINT INK 7;AT y,x;"\h": GO TO 5550 5590 PRINT INK 3; PAPER 0;AT 9,7;"Recarga reactor: 0 ": LET fase=fase+1: PRINT INK 7;AT y,x;"\a": RETURN 5997 : 5998 REM GESTION MUERTES (fin=1 death canon, fin=2 game over (reactor), fin=3 death quit 5999 REM 6000 IF fin=2 THEN GO TO 6500: REM explosion reactor 6005 IF fin=3 THEN PRINT AT y,x;" ": GO TO 6020 6007 : 6008 REM Una vida menos 6009 : 6010 GO SUB 9180: PRINT AT 3,0; INK 6; FLASH 1;" Has reventado con el ca\gon!! ": GO SUB 9080: FOR i=20 TO -20 STEP -10: BEEP .2,i: NEXT i: PAUSE 60 6020 IF LEN v$=1 THEN GO TO 6700: REM no hay mas vidas 6030 PRINT #0; FLASH 1; OVER 1;AT 1,16-INT (LEN v$/2);" ": PAUSE 120: PRINT #0; FLASH 0; OVER 0;AT 1,16-INT (LEN v$/2);" ": LET v$=v$(2 TO ): GO SUB 7700: PAUSE 100: LET x=16: LET y=21: LET canon=0: LET xa=x: LET ya=y: GO SUB 7505: GO TO 100: REM nueva fase sin inicializar numero de naves 6040 REM hacer explosion reactor, actualizar tabla records 6050 REM control de vidas !!! 6497 : 6498 REM Explosion reactor y fin de partida (fin=2) 6499 REM 6500 FOR i=18 TO 20: PRINT INK 2; FLASH 1; OVER 1;AT i,13;" ": FOR j=0 TO 40 STEP 5: BEEP .01,j: NEXT j: NEXT i: 6510 FOR k=4 TO 1 STEP -1: IF c(k,7)>=0 THEN LET ca=k: GO SUB 5000: REM explosion canon ca 6520 NEXT k 6597 : 6598 REM explosion reactor 6599 REM 6600 LET xexp=15: LET yexp=19: LET xca=xexp*8: LET yca=175-yexp*8: 6610 LET p1=PI/4: LET p2=PI/10: FOR n=1 TO 16 STEP 2: FOR m=p1 TO 0 STEP -p2: LET dx=n*COS (m): LET dy=n*SIN (m): PRINT PAPER 8; INK 2;AT yexp-dy,xexp+dx;"\ '": PRINT PAPER 8; INK 2;AT yexp-dy,xexp-dx;"\' ": PRINT PAPER 8; INK 2;AT yexp-dx,xexp+dy;"\' ": PRINT PAPER 8; INK 2;AT yexp-dx,xexp-dy;"\ '": BEEP .002,20: OUT 254,255*RND 6620 NEXT m: NEXT n: BORDER 0 6697 : 6698 REM No mas vidas 6699 REM 6700 PRINT AT 8,11; INK 6; FLASH 1;"GAME OVER": FOR i=20 TO -20 STEP -10: BEEP .2,i: NEXT i: PAUSE 100: CLS 6710 FOR i=1 TO 10: IF r(i)10)+(LEN s$ AND LEN s$<=10)): LET r(i)=puntos: CLS 6750 IF fase>1 THEN LET c$=(STR$ puntos AND puntos>0)+("00" AND puntos=0): LET c$=STR$ (VAL (STR$ fase+c$(1 TO 2))*71): LET l=LEN c$: LET g$=c$(l): LET c$(l)=c$(l-2): LET c$(l-2)=g$: LET c$=STR$ ((103+VAL c$)*13): LET l=LEN c$: LET g$=c$(l): LET c$(l)=c$(l-3): LET c$(l-3)=g$: LET c=VAL c$: PRINT INK 6;AT 5,3;"Usa el codigo ";c;" para";AT 6,5;"comenzar en la fase ";fase: GO SUB 9890 6790 CLS : GO SUB 9200: GO TO 30 6997 : 6998 REM Nueva partida 6999 REM 7000 PRINT #0; PAPER 1;AT 1,0,,: GO SUB 8888: PRINT AT 5,7;"ENTER para comenzar";AT 6,7;"o teclea codigo ";: LET c$="" 7010 PAUSE 0: LET k$=INKEY$: IF k$=CHR$ (13) THEN GO TO 7035 7020 IF k$=CHR$ (12) AND LEN (c$)>0 THEN LET c$=c$(1 TO LEN c$-1): PRINT CHR$ 8;" ";CHR$ 8;: BEEP 0.1,0: GO TO 7010 7030 IF k$<>"" AND k$>="0" AND k$<="9" THEN PRINT INK 2;"*";: BEEP 0.1,40: LET c$=c$+k$ 7032 GO TO 7010 7035 IF c$="" THEN LET fase=1: GO TO 7080 7040 IF VAL c$<1000 THEN PRINT AT 9,7;"Codigo incorrecto!!": BEEP 1,-30: GO TO 7000 7042 LET l=LEN c$: LET g$=c$(l): LET c$(l)=c$(l-3): LET c$(l-3)=g$ 7043 LET n=((VAL c$)/13)-103: IF n<>INT n OR n<100 THEN PRINT AT 9,7;"Codigo incorrecto!!": BEEP 1,-30: GO TO 7000 7045 LET c$=STR$ n: LET l=LEN c$: LET g$=c$(l): LET c$(l)=c$(l-2): LET c$(l-2)=g$ 7050 LET n=VAL c$/71: IF n=0 OR n<>INT n THEN PRINT AT 9,7;"Codigo incorrecto!!": BEEP 1,-30: GO TO 7000 7060 IF n<100 OR n>9999 THEN PRINT AT 9,7;"Codigo incorrecto!!": BEEP 1,-30: GO TO 7000 7070 FOR i=11 TO 3: BEEP 0.1,40: NEXT i: LET c$=STR$ n: LET fase=VAL (c$(1 TO LEN c$-2)) 7080 GO SUB 8888: LET demo=0: LET alcance=7: LET fin=0: LET h$="\a": LET x=16: LET y=21: LET xa=x: LET ya=y: LET canon=0: LET puntos=0: LET record=r(1): LET v$="\a\a\a": LET ereactor=4000: REM GO SUB 9200: REM escenario ya inicializado por intro o por fin vidas (6700) 7090 GO SUB 9080: GO SUB 7200: LET inc=c(1,8): LET ca=1: GO SUB 7300: LET ca=4: GO SUB 7300: LET inc=c(2,8): LET ca=2: GO SUB 7300: LET ca=3: GO SUB 7300: REM dibujo energia reactor y carga canones 7190 RETURN 7197 : 7198 REM Dibujo energia reactor 7199 REM 7200 LET s$=" "+STR$ (ereactor)+" ": PRINT #0;AT 0,16-LEN s$/2; PAPER 1; INK (2 AND ereactor<100)+(6 AND ereactor>=100);s$: RETURN 7297 : 7298 REM Carga/descarga energia canon "ca" con "inc" energia (+ o -) 7299 REM 7300 IF inc=0 THEN RETURN 7310 LET efinal=c(ca,7)+inc: LET maxe=c(ca,8): IF efinal>maxe THEN LET efinal=maxe: GO TO 7330: 7320 IF efinal<0 THEN LET c(ca,7)=efinal: GO SUB 5000: RETURN : REM Explosion canon ca, devuelve fin=1 si muere el hombre, fin=2 si explosion reactor 7330 : LET xec=c(ca,1)-13*(ca<3)+6*(ca>2): LET yactual=c(ca,2)-4-2*c(ca,7)/10: LET yfinal=c(ca,2)-4-2*efinal/10: IF yactual=yfinal THEN RETURN 7333 LET dye=2*SGN (yfinal-yactual): IF dye<0 THEN LET yactual=yactual+dye: GO TO 7340: REM no borramos la barrita de la energia actual 7335 LET yfinal=yfinal-dye: REM borramos la ultima barrita 7340 LET s=20: LET is=2*(inc>0)-2*(inc<0): FOR i=yactual TO yfinal STEP dye: PLOT INVERSE 1; OVER 1; PAPER 6; INK 1;xec,i: DRAW OVER 1; PAPER 6; INK 1;5,0: BEEP 0.005,s: LET s=s+is: NEXT i 7390 LET c(ca,7)=efinal: RETURN 7497 : 7498 REM Nueva fase 7499 REM 7500 LET naves=5+(fase-1)*5 7510 GO SUB 8888: PRINT INK 7; PAPER 0;AT 21,4;e$(7)(6 TO 48): PRINT INK 3;AT 0,13; FLASH 1;"FASE ";fase; FLASH 0;AT 1,12;naves;" naves": PAUSE 25 7520 LET pp=fase/(fase+2)+0.09: LET pp=(pp AND pp<1)+(1 AND pp>=1): LET dir=1: LET mintn=1-pp: LET tn=mintn: GO SUB 3210: LET m=tiponave 7530 FOR i=1 TO m: LET tn=.5-.2*(i-1): GO SUB 3210: LET z=4-m+tiponave*3: PRINT INK 5;AT z,5;n$;AT z+1,5;m$: LET col=21-LEN (STR$ puntosnave): FOR j=5+longnave TO col-1: PRINT INK 6;AT z,j;".";: NEXT j: PRINT INK 6;AT z,col;puntosnave;" ptos": BEEP 0.1,20-i: NEXT i 7570 PAUSE 100: GO SUB 8888: GO SUB 7700: REM estado 7580 GO SUB 3200: REM inicializacion nave 7590 LET fin=0: RETURN 7600 REM 7697 : 7698 REM dibujo del estado de la partida 7699 REM 7700 IF puntos>record THEN LET record=puntos 7710 PRINT #0; FLASH 0; PAPER 0;AT 1,0; INK 5;"Puntos:"; INK 6;puntos;AT 1,(32-7-LEN STR$ record); INK 5;"Record:"; INK 6;record; 7720 PRINT #0; FLASH 0; PAPER 0;AT 1,15;" "; INK 6;AT 1,(16-INT (LEN v$/2));v$ 7790 GO SUB 7200: RETURN : REM escribimos tambien la energia del reactor 7997 : 7998 REM Animacion titulo principal 7999 REM 8000 GO SUB 8888: GO SUB 9180: REM UDG set 2 8030 FOR i=0 TO 6: IF INKEY$<>"" THEN RETURN 8035 FOR j=1 TO 5: PRINT INK 4;AT j-1,15-i;t$(j)(8 TO 8+i);t$(j)(22-i TO 22);: NEXT j: BEEP .05,30: NEXT i: FOR j=1 TO 5: PRINT INK 4;AT j-1,2;t$(j);: NEXT j: IF INKEY$<>"" THEN RETURN 8040 FOR i=7 TO 14: PRINT INK (4 AND i<10)+(0 AND i>9);AT i-1,2;t$(i);: BEEP (.1 AND i<10)+(0 AND i>9),10: NEXT i 8050 LET x1=0: LET y1=85: FOR i=2 TO 30 STEP 3: LET x=i*8: REM LET y1=y1+30: REM :IF y1>110 THEN LET y1=70 8070 FOR j=9 TO 13: LET y=175-(j*8+4): PLOT INK 0; OVER 1;x1,y1: DRAW OVER 1; INK 2;x-x1,y-y1: BEEP 0.01,50: PLOT INK 0; OVER 1;x1,y1: DRAW OVER 1; INK 4;x-x1,y-y1: NEXT j: IF INKEY$<>"" THEN RETURN 8090 NEXT i: PRINT #0; PAPER 0; INK 4;AT 1,2;"Programado por EddieTheWild": PAUSE 100: PRINT #0; PAPER 1;AT 1,0,,: RETURN 8097 : 8098 REM MENU 8099 REM 8100 LET decimas=20: GO SUB 8888 8110 PRINT INK 6;AT 1,8;"1 - Jugar": PRINT INK 6;AT 3,8;"2 - Redefinir teclas": PRINT INK 6;AT 5,8;"3 - Ver instrucciones": PRINT INK 6;AT 7,8;"4 - Ver intro": PRINT INK 6;AT 9,8;"5 - Salir" 8115 LET k$=INKEY$ 8120 IF k$="" AND decimas>0 THEN PAUSE 5: LET decimas=decimas-1: GO TO 8115 8127 IF decimas=0 THEN GO TO 8200 8130 IF k$="1" THEN RETURN 8140 IF k$="2" THEN GO SUB 8500: GO TO 8100 8150 IF k$="3" THEN GO SUB 8600: GO TO 8100 8160 IF k$="4" THEN GO SUB 9600: LET demo=0: GO TO 8100 8170 IF k$="5" THEN GO SUB 9500 8180 GO TO 8115 8197 : 8198 REM RECORDS 8199 REM 8200 LET decimas=20: GO SUB 8888: PRINT PAPER 1; INK 7;AT 0,13;"Records" 8210 FOR i=1 TO 10: PRINT INK 3;AT i+1,6;r$(i);AT i+1,(25-LEN STR$ r(i)); INK 3;r(i): NEXT i 8220 LET k$=INKEY$: IF k$="" AND decimas>0 THEN PAUSE 5: LET decimas=decimas-1: GO TO 8220 8230 IF k$<>"" THEN GO TO 8100: REM 8120 8297 : 8298 REM TITULO 8299 REM 8300 LET decimas=20: GO SUB 8888: GO SUB 9180 8310 FOR i=0 TO 13: PRINT INK 4;AT i,2;t$(i+1);: NEXT i: PRINT #0; PAPER 8; INK 9;AT 1,7;"\* EddieTheWild 2006" 8320 LET k$=INKEY$: IF k$="" AND decimas>0 THEN PAUSE 5: LET decimas=decimas-1: GO TO 8320 8330 GO TO 8100: REM volvemos a presentar el menu 8497 : 8498 REM REDEFINIR TECLAS 8499 REM 8500 GO SUB 8888: PRINT PAPER 6; INK 9;AT 0,8;"Redefinir Teclas": PRINT INK 6;TAB 2;"(pulsa Intro para no cambiar)": LET y=2: POKE 23561,255: REM repeticion muy lenta de pulsaciones 8510 PRINT INK 6;AT y+2,10;"Arriba? "; INK 7; FLASH 1;q$: PAUSE 0: LET k=PEEK 23560: BEEP .01,20: IF k>31 THEN LET q$=CHR$ k: 8520 PRINT AT y+2,21; INK 7; FLASH 0;q$: PRINT INK 6;AT y+4,10;"Abajo? "; INK 7; FLASH 1;a$: PAUSE 0: LET k=PEEK 23560: BEEP .01,20: IF k>31 THEN LET a$=CHR$ k: 8530 PRINT AT y+4,21; INK 7; FLASH 0;a$: PRINT INK 6;AT y+6,10;"Izquierda? "; INK 7; FLASH 1;o$: PAUSE 0: LET k=PEEK 23560: BEEP .01,20: IF k>31 THEN LET o$=CHR$ k: 8540 PRINT AT y+6,21; INK 7; FLASH 0;o$: PRINT INK 6;AT y+8,10;"Derecha? "; INK 7; FLASH 1;p$: PAUSE 0: LET k=PEEK 23560: BEEP .01,20: IF k>31 THEN LET p$=CHR$ k: 8550 PRINT AT y+8,21; INK 7; FLASH 0;p$: PRINT INK 6;AT y+11,10;"Disparo? "; INK 7; FLASH 1;f$: PAUSE 0: LET k=PEEK 23560: BEEP .01,20: IF k>31 THEN LET f$=CHR$ k: 8590 PRINT AT y+11,21; INK 7; FLASH 0;f$: POKE 23561,35: GO SUB 9890: RETURN 8597 : 8598 REM INSTRUCCIONES 8599 REM 8600 GO SUB 8888: GO SUB 9180: PRINT INK 5;AT 0,9;"Instrucciones (1/3)": PRINT INK 4; INVERSE 1;AT 3,11;"Controles": PRINT INK 4;AT 5,0;" Hombre Ca\gon": PRINT INK 6;AT 7,0;" "; INK 7;q$; INK 6;" "; INK 7;o$; INK 6;"\h \i"; INK 7;p$: PRINT INK 6;AT 8,0;" \r ": PRINT INK 6;AT 9,0;" "; INK 7;o$; INK 6;"\t \u"; INK 7;p$; INK 6;" disparo": PRINT INK 6;AT 10,0;" \s '"; INK 7;f$; INK 6;"'": PRINT INK 6;AT 11,0;" "; INK 7;a$: GO SUB 9890 8610 GO SUB 8888: PRINT INK 5;AT 0,9;"Instrucciones (2/3)": PRINT AT 3,0; INK 6;"- Para controlar un ca\gon hay que situarse dentro": PRINT ,,; INK 6;"- Cada disparo consume energia, el ca\gon explota si se agota": PRINT ,,; INK 6;"- Cuando explota un ca\gon, se bloquea el pasillo cercano": GO SUB 9890 8620 GO SUB 8888: PRINT INK 5;AT 0,9;"Instrucciones (3/3)": PRINT AT 3,0; INK 6;"- La superficie sobre el reactor central es el punto mas debil, protegela!!!": PRINT ,,; INK 6;"- Si el reactor es alcanzado, estas acabado": PRINT ,,; INK 6;"- Obtendras nueva energia al pa- sar de fase" 8630 GO SUB 9890: GO SUB 9080: RETURN 8885 : 8886 REM borrado parte superior pantalla 8887 : REM 8888 PRINT PAPER 0; FLASH 0;AT 0,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,: RETURN 8989 : 8998 REM UDGs 8999 REM 9001 REM UDGs set 1: \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u (65368-65535) 9079 REM select CHARSET 1 9080 POKE 23675,176: POKE 23676,254: RETURN 9099 : 9101 REM UDGs set 2: \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u (65200-65367) 9179 REM select CHARSET 2 9180 POKE 23675,88: POKE 23676,255: RETURN 9197 : 9198 REM Inicializacion y dibujo base 9199 : 9220 PAPER 0: GO SUB 9180: INK 7: FOR j=1 TO 7: PRINT PAPER 0;AT 14,0,,"": PRINT AT 14+j,0;e$(j);: NEXT j: GO SUB 9080: PRINT #0; PAPER 1;AT 0,0,,,,: 9238 REM Inicializacion canones 9239 REM c(canon, ) 9240 DIM c(4,8): LET c(1,1)=4*8-4: LET c(1,2)=6*8-4: LET c(1,3)=1.2: LET c(1,4)=.50: LET c(1,5)=.85: LET c(1,6)=12: LET c(1,7)=0: LET c(1,8)=200:: LET c(2,1)=11*8-4: LET c(2,2)=6*8-4: LET c(2,3)=2: LET c(2,4)=0.8: LET c(2,5)=1.57: LET c(2,6)=7: LET c(2,7)=0: LET c(2,8)=160:: LET c(3,1)=22*8-4: LET c(3,2)=6*8-4: LET c(3,3)=2.2: LET c(3,4)=1: LET c(3,5)=1.57: LET c(3,6)=7: LET c(3,7)=0: LET c(3,8)=160:: LET c(4,1)=29*8-4: LET c(4,2)=6*8-4: LET c(4,3)=PI-.50: LET c(4,4)=PI-1.2: LET c(4,5)=PI-.85: LET c(4,6)=12: LET c(4,7)=0: LET c(4,8)=200 9250 FOR i=1 TO 4: LET ang=c(i,5): LET canon=i: GO SUB 2000: NEXT i: REM la subrutina 2000 necesita el "canon" 9260 LET canon=0: RETURN : 9300 REM montanias 9310 INK 3: PLOT 0,70: DRAW 50,35: DRAW 75,-65: PLOT 185,40: DRAW 60,80: DRAW 10,-15: PLOT 90,70: DRAW 70,20: DRAW 50,-15 9390 RETURN 9397 : 9398 REM Inicializacion programa. Ver variables globales en 9900 9399 REM 9410 LET o$="o": LET p$="p": LET q$="q": LET a$="a": LET f$=" ": LET colornave=5: LET colordisparonave=2: LET disparonaveatras=2 9415 DIM r$(10,10): DIM r(10): FOR i=10 TO 1 STEP -1: LET r$(i)="Eddie"+STR$ i: LET r(i)=INT ((11-i)*200): NEXT i: REM tabla de records 9420 LET longcanon=8: LET difcanon=.30 9430 DIM e$(9,54) 9431 LET e$(1)=" \p\::\q \k\l\m \k\l\m \p\::\q " 9432 LET e$(2)="\{i0} \{i7}\:: \::\{i0} \{i7}\n \o\{i0} \{i7}\n \o\{i0} \{i7}\:: \::\{i0} " 9433 LET e$(3)="\{i1}\::\::\::\{i7} \{i1}\::\::\::\::\::\::\{i7} \{i1}\::\::\{i1}\''\''\''\''\''\''\{i1}\::\::\{i7} \{i1}\::\::\::\::\::\::\{i7} \{i1}\::\::\::" 9434 LET e$(4)="\{i1}\::\::\::\{i7} \{i1}\::\::\::\::\::\::\{i7} \{i1}\::\::\{i5} \::\ :\: \:: \{i1}\::\::\{i7} \{i1}\::\::\::\::\::\::\{i7} \{i1}\::\::\::" 9435 LET e$(5)="\{i1}\::\::\::\{i7} \{i1}\::\::\::\::\::\::\{i7} \{i1}\::\::\{i5}\''\::\':\:'\::\''\{i1}\::\::\{i7} \{i1}\::\::\::\::\::\::\{i7} \{i1}\::\::\::" 9436 LET e$(6)="\{i1}\::\::\::\{i7} \{i1}\::\::\::\::\::\::\{i7} \{i1}\::\::\{i5} \''\ '\' \'' \{i1}\::\::\{i7} \{i1}\::\::\::\::\::\::\{i7} \{i1}\::\::\::" 9437 LET e$(7)="\{i1}\::\::\::\{i7} \{i7} \{i7} \{i7} \{i7} \{i7} \{i7} \{i7} \{i7} \{i1}\::\::\::" 9438 LET e$(8)="\{i1}\::\::\::\{i1}\::\{i1}\::\::\::\::\::\::\{i1}\::\{i1}\::\::\{i1}\::\::\::\::\::\::\{i1}\::\::\{i1}\::\{i1}\::\::\::\::\::\::\{i1}\::\{i1}\::\::\::" 9439 LET e$(9)="\{i1}\::\::\::\{i1}\::\{i1}\::\::\::\::\::\::\{i1}\::\{i1}\::\::\{i1}\::\::\::\::\::\::\{i1}\::\::\{i1}\::\{i1}\::\::\::\::\::\::\{i1}\::\{i1}\::\::\::" 9462 REM energia 9464 LET edisparo=10: LET impactocanon=20: LET impactoreactor=200: LET recargareactor=20: LET destrcanon=500 9470 DIM t$(14,28): LET t$(1)=" \c\::\:: \a\::\b \b \:: \a\::\b ": LET t$(2)=" \a\d \:: \:: \::\b\:: \:: \:: ": LET t$(3)=" \::\::\:: \:: \:: \::\::\:: \::\::\:: " 9471 LET t$(4)=" \a\d \:: \:: \::\c\:: \:: \:: ": LET t$(5)=" \::\::\b \c\::\d \:: \c \:: \:: ": LET t$(6)=" " 9472 LET t$(7)=" \ :\e\ :\'' ": LET t$(8)=" \ :\ :\ :\'' ": LET t$(9)=" \ '\f\ '\'' " 9473 LET t$(10)="\a\::\d \a\::\b \::\b\a\:: \::\::\b \a\::\b \::\::\:: \::\::\b": LET t$(11)="\:: \:: \:: \::\c\d\:: \::\a\d \:: \:: \:: \:: ": LET t$(12)="\:: \:: \:: \:: \:: \::\::\b \::\::\:: \:: \::\::\::" 9474 LET t$(13)="\:: \:: \:: \:: \:: \:: \:: \:: \:: \:: \:: ": LET t$(14)="\c\::\b \c\::\d \:: \:: \::\::\d \:: \:: \:: \::\::\d" 9490 RETURN 9497 : 9498 REM FIN DEL PROGRAMA 9499 REM 9500 PRINT #0; INK 6; FLASH 1;AT 1,0;"Realmente quieres salir? (s/n) ": POKE 23561,255: PAUSE 0: LET w$=CHR$ PEEK 23560: BEEP .01,20: IF w$="s" THEN GO TO 9990: REM Fin de ejecucion 9510 POKE 23561,35: PRINT #0; PAPER 1; INK 6; FLASH 0;AT 1,0,,: RETURN 9597 : 9598 REM INTRO 9599 REM 9600 BORDER 0: CLS : LET yn=3: LET demo=1: REM para no comprobar el impacto de los disparos de las naves 9605 DIM d$(7,34): LET d$(1)="\{i7} \b \d \a ": LET d$(2)="\{i7} \a\a\ :\::\. \d \a\e\::\. \c\b\c\c\d\.:\::\b\c\e\::\:.\b\d\a ": LET d$(3)="\{i1}\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::": LET d$(4)="\{i1}\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::": LET d$(5)="\{i1}\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::": LET d$(6)="\{i1}\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::": LET d$(7)="\{i1}\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::": GO SUB 9080: REM UDG set 1 9610 FOR i=1 TO 7: PRINT AT 14+i,0;d$(i);: NEXT i: PRINT #0; PAPER 1;AT 0,0,,,,: LET s$="Era un apacible dia en el pacifico planeta Krux": GO SUB 9850: IF INKEY$<>"" THEN GO TO 9700 9615 LET s$="...hasta que los temibles insectoides atacaron y comenzola masacre!!": GO SUB 9850: IF INKEY$<>"" THEN GO TO 9700 9620 LET b$=" \n\l\l\..\.:\k \n\..\..\p \n\..\..\p \n\..\..\p \n\..\..\p ": LET c$=" \''\o\o_ \m \''\o_\s \''\o_\s \''\o_\s \''\o_\s ": LET alcance=8: LET F1=4: LET F2=16: FOR n=LEN b$ TO 32 STEP -1: PRINT INK 5;AT yn,0;b$(n-31 TO n): PRINT INK 5;AT yn+1,0;c$(n-31 TO n): BEEP .002,30+20 9650 IF n=86 OR n=80 OR n=74 OR n=68 THEN LET h=1: GO TO 9670 9660 IF n=60 OR N=50 THEN LET alcance=2: FOR x=f1 TO f2 STEP 2: LET xn=(10 AND n=60)+(20 AND n=50): LET xblanco=x: LET x2=xblanco*8: LET y2=175-17*8+1: LET x1=xn*8+4: LET y1=175-(yn+1)*8-4: GO SUB 3030: PRINT AT 15,xblanco;" ": PRINT AT 16,xblanco;" ": NEXT x: LET f1=17: LET f2=30 9665 GO TO 9690 9670 LET xn=2+(6 AND RND>.5): LET xblanco=30*RND+1: LET x2=xblanco*8: LET y2=175-17*8+1: LET x1=xn*8+4: LET y1=175-(yn+1)*8-4: GO SUB 3030: PRINT AT 15,xblanco-(1 AND xblanco>0);" ": PRINT AT 16,xblanco-1;" " 9680 IF h<2 THEN LET h=h+1: GO TO 9670 9690 IF INKEY$="" THEN NEXT n 9695 IF INKEY$<>"" THEN GO TO 9700 9697 PRINT PAPER 0;AT yn,0,,,,: LET s$="Defiende tu planeta de las oleadas de invasores usando elsistema de defensa": GO SUB 9850 9700 PRINT PAPER 0;AT yn,0,,,,: GO SUB 9200: REM dibujo base 9720 GO SUB 8000: REM titulo zona de combate, menu 9790 RETURN : 9797 REM 9798 REM comenzar cronometro 9799 REM 9800 POKE 23674,0: POKE 23673,0: POKE 23672,0: REM PRINT #0;AT 0,0; PAPER 2; FLASH 1;"crono on"; PAPER 1; FLASH 0;" ": 9810 RETURN 9817 REM 9818 REM mostrar cronometro 9819 REM 9820 PRINT #0;AT 0,0; FLASH 0;"crono: ";((PEEK 23674*65536+PEEK 23673*256+PEEK 23672)/50);" " 9840 RETURN 9849 REM escritura de mensaje en pantalla 9850 LET x=1: LET y=5: FOR i=1 TO LEN s$: PRINT INK 4;AT y,x;s$(i TO i): BEEP .002,20: LET x=x+1: IF x>30 THEN LET x=1: LET y=y+1 9855 IF INKEY$<>"" THEN GO TO 9870 9860 NEXT i 9870 GO SUB 9890: FOR i=5 TO y: PRINT PAPER 0;AT i,0,,: NEXT i: RETURN 9890 REM mensaje y pulsacion tecla en lineas inferiores 9892 PRINT #0; FLASH 1; PAPER 8; INK 7;AT 1,1;"Pulsa una tecla para continuar";: PAUSE 0: PRINT #0; PAPER 8;AT 1,0,,: RETURN 9897 : 9899 REM 9900 REM VARIABLES GLOBALES 9910 REM HOMBRE 9912 REM (x,y), (xa,ya), h$ 9919 : 9920 REM CANON ACTIVO 9922 REM canon (1-4, ninguno:0) 9924 REM c(c,(x,y,maxang,minang,ang,radio,energia)) 9929 : 9930 REM NAVE 9932 REM (xn,yn), dir, longnave, prop 9988 : 9989 REM FINAL 9990 CLS : PRINT "Gracias por jugar"'''"\* EddieTheWild 2006"