ZXTape! 0Created with BASin Release 13ZonaDeCombp-op" **************************** " *** *** " *** ZONA DE COMBATE *** " *** *** " ***  EddieTheWild, 2006 *** " *** *** " *** V1.1 *** " *** *** " **************************** W"ZonaDeCombate.scr":65199:"zc-udgs"65200:UDGs char 1 & 2, minusculas :para ver si hay pasillo :0:0::1;2;12 ,9 ;"Para la cinta":i=69E0-3:.005y# >,i:i:9080x#:23658j\,0:9890&:UDGs char 1 & 2, minusculas : /inicializacion prograna, con posile reentrada h0:0:0:0:0::9400$:9600%:inicializacion variables, intro #8100:menu, records, titulo (7000X:nueva partida 27500L:nueva fase a b c ): *BUCLE PRINCIPAL + ,KSalimos si fin=1 (death canon), fin=2 game over reactor, fin=3 death quit  control hombre  &k$= 0k$=""h$="":680: 4backdoor perdida vida 5!k$="0"fin=3:6000p 7,k$="Q"fin=4:6700,:game over 9TECLA DISPARO :2k$=f$canon21004:fin=01000 ?0fin=-15500|:502:nueva fase A7fin>06000p:una vida menos o fin partida D:TECLA IZQUIERDA Nk$o$630v Xcanon=0620l ]Aang=c(canon,5):ang+difcanon>c(canon,3)1000 bX2000:ang=ang+difcanon:2000:c(canon,5)=ang:1000:giro canon lX(y,x-1)=7x=x-1:h$=(""(h$=""h$=""))+(""h$=""):680: uTECLA DERECHA vk$p$660 canon=0650 Cang=c(canon,5):(ang-difcanon)31xn2=32 -xn E0;colornave;yn,xxn;n$(xn1xn2);yn+1,xxn;m$(xn1xn2) .002xn,10 :xn>1xn<31-longnave*(dir=1)(06000p:disparo en reactor o en canon con hombre -xn=xnfin3200 :300,:nueva nave 8 xn=xn+dir B300,:ciclamos  *Dibujo del canon "canon" en angulo "ang"  Уsn=ang:cs=ang:cssn=cs/sn:radio=c(canon,6):7;c(canon,1)+radio*cs,c(canon,2)+radio*sn:1;7;longcanon*cs,longcanon*sn: 1 2Disparo canon "canon" 3 4%2300:blanco=1 si hay impacto >xca=c(canon,1)+(c(canon,6)+longcanon+2)*cs:yca=c(canon,2)+(c(canon,6)+longcanon+2)*sn:colordisparo=4 HOblancody=175-(yn+1)*8-yca+4:dx=dy*cssn:2140\ Rdy=175-yca:dx=dy*cssn \>8;colordisparo;xca,yca:8;colordisparo;dx,dy f/i=69E0-10 :.001wn,i:i klca=canon:inc=-edisparo:7300:fin:Perdida de una vida o fin partida. Se trata en prog. principal pF1;8;7;xca,yca:1;8;7;dx,dy zblanco=0 Ximpactosnave=impactosnave-1:impactosnave>0rexpl=0.5:2500 : rexpl=1:2500 :puntos=puntos+puntosnave:3200 :7700:naves=naves-1:naves=0fin=-1::fase completa. Se trata en programa principal R3;8,9 ;"quedan ";naves;" naves":20:8,0,,    1Verificacion impacto a nave, blanco=1 si es asi  blanco=0 6xnn=x+cssn*(16-yn):PRINT AT yn,xnn; INK 3;"*" odif=xnn-(xn-dir):0difdif<(longnave-1)blanco=1:PRINT #0;AT 1,5; PAPER 3; INK 9;"FIRE": $  4Explosion nave en xca+dx, dya+dy, con tamano rexpl  Gxe=xca+dx:ye=yca+dy-2:n=55+5*rexpl5 5mx=rexpl*(+2*n+1.43334):my=rexpl*(+n): 97:xe+mx,ye:-2*mx,0:xe,ye+my:0,-2*my:xe+mx/2,ye+my/2:-mx,-my:6:xe-mx/2,ye+my/2:mx,-my:xe-x/2,ye+my:mx,-2*my:xe+mx/2,ye+my:-mx,-2*my:2:xe+mx,ye+my/2:-2*mx,-my:xe+mx,ye-my/2:-2*mx,my 0n:i=15025:.01z# >,-i:i 5i=yn-1yn+2:0;i,0,,:i: : Disparo de la nave  atras=(xn+longnave-1-disparonaveatrasdir=1):rango=(31-atrasdir=1)+(xn+disparonaveatrasdir=-1):xblanco=(atras+rango*) ¡x2=xblanco*8:y2=175-17*8+1:x1=(xn+(longnave-1)*(dir=1))*8+4:y1=175-(yn+1)*8-4: (PRINT OVER 1; INK 8;AT 17,xblanco;"*"; ְi=x2x2+alcance2:1;8;colordisparonave;x1,y1:1;8;colordisparonave;(i-x1),(y2-y1):.005y# >,69E:254,*255:i:0 8:i=x2x2+alcance2:1;8;7;x1,y1:1;8;7;(i-x1),(y2-y1):i:restaura los atributos originales en (16,xblanco) (PRINT OVER 1; INK 8;AT 17,xblanco;"*"; @demo=04000:comprobacion disparo nave en xblanco  } ~Inicializacion nave  yn=10 *+1:prob=fase/(2.5 *fase+4)*:tn=pp*+(1-pp):dir=1-2*(<.5):PRINT AT 0,0;"prob:";prob;" tn:";tn;" dir:";dir tn<.53220 Atiponave=1:dir=1n$=" ":m$=" ":3290 "n$=" ":m$=" ":3290 tn<.33230 Ctiponave=2:dir=1n$=" ":m$=" _":3290 $n$=" ":m$="_ ":3290 tn<.1}L3240 Gtiponave=3:dir=1n$=" ":m$=" _ ":3290 (n$=" ":m$=" _ ":3290 Mtiponave=4:dir=1n$=" ":m$=" _":3290 .n$=" ":m$="_ ":3290 ڽpuntosnave=10 *tiponave*fase:impactosnave=tiponave:longnave=n$:lo=-longnave+1:xn=lo*(dir=1)+31*(dir=-1):xnfin=31*(dir=1)+lo*(dir=-1): : .comprobacion impacto disparo nave en xblanco  Nxblanco<13 xblanco>184500:No ha dado encima del reactor (17,xblanco)=0dec=impactoreactor*longnave:ereactor=(ereactor-dec)*(ereactor>dec):7200 :ereactor=0fin=2::ha dado en el reactor. Se trata en el prog. principal Y0;0;17,xblanco;" ":i=0-20-2:.01z# >,i:i: No ha dado encima del reactor =(20448O+xblanco)=0:no ha dado a ningun canon ca=(xblanco/8)+1:inc=-impactocanon*(longnave-3):7300::le quita energia al canon. Puede devolver fin>0 si acaba explotando : JExplosion canon ca devuelve fin=1 muerte hombre, fin=2 explosion reactor   rxexp=(c(ca,1)-4)/8:yexp=21-c(ca,2)/8:PRINT INK 7;AT yexp,xexp;"*": PAUSE 0 .j=242:i=16 xx=xexp+(j*-j/2):yy=yexp+(j*-j/2):s$=(14*+129):1;8;2;yy,xx;s$:.005y# >,40(:254,255*:PRINT OVER 1; PAPER 8; INK 0;AT yy,xx;s$ @i:j:0:fin=2:invocado desde explosion reactor i=yexp-2yexp:0;0;i,xexp-2;" ":i:i=yexp+1yexp+5:0;(0i=yexp+1)+(1i>yexp+1);i,xexp-1;"":i PLereactor=ereactor-destrcanon:ereactor<0fin=2::fin partida Z)ca=canonfin=1::una vida menos d7700: y: zFase completa { |3;1;0;5,7;"Fase ";fase;" completada!!":j=13:i=2040(2:.01z# >,i:7;y,x;"":.01z# >,40(-i:7;y,x;"":i:j recarga=150*fase:9180#:3;0;7,7;"Recarga caones: ";recarga:9080x#:i=10 40(3:.001wn,i:i ,cambio=0:p=14:c(p,7)0c(p,7)03;0;9 ,7;"Recarga reactor: ";recarga;" ":ereactor=ereactor+recargareactor:7;y,x;"":7200 :recarga=recarga-10 :.001wn,40(:7;y,x;"":5550 c3;0;9 ,7;"Recarga reactor: 0 ":fase=fase+1:7;y,x;"": m: nQGESTION MUERTES (fin=1 death canon, fin=2 game over (reactor), fin=3 death quit o p,fin=26500d:explosion reactor u#fin=3y,x;" ":6020 w: xUna vida menos y: z9180#:3,0;6;1;" Has reventado con el caon!! ":9080x#:i=20-20-10 :.2~L,i:i:60< +v$=16700,:no hay mas vidas +#0;1;1;1,16-(v$/2);" ":120x:#0;0;0;1,16-(v$/2);" ":v$=v$(2):7700:100d:x=16:y=21:canon=0:xa=x:ya=y:7505Q:100d:nueva fase sin inicializar numero de naves 3hacer explosion reactor, actualizar tabla records control de vidas !!! a: b,Explosion reactor y fin de partida (fin=2) c dvi=1820:2;1;1;i,13 ;" ":j=040(5:.01z# >,j:j:i: nXk=41-1:c(k,7)0ca=k:5000:explosion canon ca xk : explosion reactor  Mxexp=15:yexp=19:xca=xexp*8:yca=175-yexp*8: -p1=/4:p2=/10 :n=1162:m=p10-p2:dx=n*(m):dy=n*(m):8;2;yexp-dy,xexp+dx;"":8;2;yexp-dy,xexp-dx;"":8;2;yexp-dx,xexp+dy;"":8;2;yexp-dx,xexp-dy;"":.002xn,20:254,255* m:n:0 ): *No mas vidas + ,m8,11 ;6;1;"GAME OVER":i=20-20-10 :.2~L,i:i:100d: 6Ci=110 :r(i)10 )+(s$Ʊs$10 )):r(i)=puntos: ^tfase>1c$=(puntospuntos>0)+("00"puntos=0):c$=((fase+c$(12))*71G):l=c$:g$=c$(l):c$(l)=c$(l-2):c$(l-2)=g$:c$=((103g+c$)*13 ):l=c$:g$=c$(l):c$(l)=c$(l-3):c$(l-3)=g$:c=c$:6;5,3;"Usa el codigo ";c;" para";6,5;"comenzar en la fase ";fase:9890& :9200#:30 U: VNueva partida W X#0;1;1,0,,:8888":5,7;"ENTER para comenzar";6,7;"o teclea codigo ";:c$="" b+0:k$=:k$=(13 )7035{ lqk$=(12 )Ʊ(c$)>0c$=c$(1̱c$-1):8;" ";8;:0.1}L,0:7010b vBk$""k$"0"k$"9"2;"*";:0.1}L,40(:c$=c$+k$ x 7010b {!c$=""fase=1:7080 Wc$<10009 ,7;"Codigo incorrecto!!":1,-30:7000X 8l=c$:g$=c$(l):c$(l)=c$(l-3):c$(l-3)=g$ wn=((c$)/13 )-103g:nɺnn<100d9 ,7;"Codigo incorrecto!!":1,-30:7000X ?c$=n:l=c$:g$=c$(l):c$(l)=c$(l-2):c$(l-2)=g$ gn=c$/71G:n=0nɺn9 ,7;"Codigo incorrecto!!":1,-30:7000X an<100dn>9999'9 ,7;"Codigo incorrecto!!":1,-30:7000X Si=11 3:0.1}L,40(:i:c$=n:fase=(c$(1̱c$-2)) 8888":demo=0:alcance=7:fin=0:h$="":x=16:y=21:xa=x:ya=y:canon=0:puntos=0:record=r(1):v$="":ereactor=4000:GO SUB 9200: REM escenario ya inicializado por intro o por fin vidas (6700) 9080x#:7200 :inc=c(1,8):ca=1:7300:ca=4:7300:inc=c(2,8):ca=2:7300:ca=3:7300:dibujo energia reactor y carga canones  : Dibujo energia reactor   s$=" "+(ereactor)+" ":#0;0,16-s$/2;1;(2ereactor<100d)+(6ereactor100d);s$: : =Carga/descarga energia canon "ca" con "inc" energia (+ o -)  inc=0 Uefinal=c(ca,7)+inc:maxe=c(ca,8):efinal>maxeefinal=maxe:7330: efinal<0c(ca,7)=efinal:5000::Explosion canon ca, devuelve fin=1 si muere el hombre, fin=2 si explosion reactor :xec=c(ca,1)-13 *(ca<3)+6*(ca>2):yactual=c(ca,2)-4-2*c(ca,7)/10 :yfinal=c(ca,2)-4-2*efinal/10 :yactual=yfinal zdye=2*(yfinal-yactual):dye<0yactual=yactual+dye:7340:no borramos la barrita de la energia actual /yfinal=yfinal-dye:borramos la ultima barrita s=20:is=2*(inc>0)-2*(inc<0):i=yactualyfinaldye:1;1;6;1;xec,i:1;6;1;5,0:0.005y# >,s:s=s+is:i c(ca,7)=efinal: I: J Nueva fase K L&naves=5+(fase-1)*5 V8888":7;0;21,4;e$(7)(6480):3;0,13 ;1;"FASE ";fase;0;1,12 ;naves;" naves":25 `pp=fase/(fase+2)+0.09}8Q:pp=(pppp<1)+(1pp1):dir=1:mintn=1-pp:tn=mintn:3210 :m=tiponave ji=1m:tn=.5-.2~L*(i-1):3210 :z=4-m+tiponave*3:5;z,5;n$;z+1,5;m$:col=21-(puntosnave):j=5+longnavecol-1:6;z,j;".";:j:6;z,col;puntosnave;" ptos":0.1}L,20-i:i +100d:8888":7700:estado !3200 :inicializacion nave fin=0:  : !dibujo del estado de la partida  puntos>recordrecord=puntos #0;0;0;1,0;5;"Puntos:";6;puntos;1,(32 -7-record);5;"Record:";6;record; (c#0;0;0;1,15;" ";6;1,(16-(v$/2));v$ n97200 ::escribimos tambien la energia del reactor =: >Animacion titulo principal ? @#8888":9180#:UDG set 2 ^i=06:"" cj=15:4;j-1,15-i;t$(j)(88+i);t$(j)(22-i22);:j:.05|L,30:i:j=15:4;j-1,2;t$(j);:j:"" hi=714:(4i<10 )+(0i>9 );i-1,2;t$(i);:(.1}Li<10 )+(0i>9 ),10 :i rox1=0:y1=85U:i=2303:x=i*8:LET y1=y1+30: REM :IF y1>110 THEN LET y1=70 j=9 13 :y=175-(j*8+4):0;1;x1,y1:1;2;x-x1,y-y1:0.01z# >,502:0;1;x1,y1:1;4;x-x1,y-y1:j:"" i:#0;0;4;1,2;"Programado por EddieTheWild":100d:#0;1;1,0,,: : MENU  decimas=20:8888" 6;1,8;"1 - Jugar":6;3,8;"2 - Redefinir teclas":6;5,8;"3 - Ver instrucciones":6;7,8;"4 - Ver intro":6;9 ,8;"5 - Salir" k$= Ek$=""decimas>05:decimas=decimas-1:8115 decimas=08200  k$="1"  k$="2"85004!:8100  k$="3"8600!:8100 .k$="4"9600%:demo=0:8100 k$="5"9500%  8115 :  RECORDS  Mdecimas=20:8888":1;7;0,13 ;"Records" ei=110 :3;i+1,6;r$(i);i+1,(25-r(i));3;r(i):i Kk$=:k$=""decimas>05:decimas=decimas-1:8220 &k$""8100:8120 i: jTITULO k l*decimas=20:8888":9180# v~i=013 :4;i,2;t$(i+1);:i:#0;8;9 ;1,7;" EddieTheWild 2006" Kk$=:k$=""decimas>05:decimas=decimas-1:8320 *8100:volvemos a presentar el menu !1: !2REDEFINIR TECLAS !3 !48888":6;9 ;0,8;"Redefinir Teclas":6;2;"(pulsa Intro para no cambiar)":y=2:23561 \,255:repeticion muy lenta de pulsaciones !>6;y+2,10 ;"Arriba? ";7;1;q$:0:k=23560\:.01z# >,20:k>31q$=k: !Hy+2,21;7;0;q$:6;y+4,10 ;"Abajo? ";7;1;a$:0:k=23560\:.01z# >,20:k>31a$=k: !Ry+4,21;7;0;a$:6;y+6,10 ;"Izquierda? ";7;1;o$:0:k=23560\:.01z# >,20:k>31o$=k: !\y+6,21;7;0;o$:6;y+8,10 ;"Derecha? ";7;1;p$:0:k=23560\:.01z# >,20:k>31p$=k: !fy+8,21;7;0;p$:6;y+11 ,10 ;"Disparo? ";7;1;f$:0:k=23560\:.01z# >,20:k>31f$=k: !Oy+11 ,21;7;0;f$:23561 \,35#:9890&: !: !INSTRUCCIONES ! !I8888":9180#:5;0,9 ;"Instrucciones (1/3)":4;1;3,11 ;"Controles":4;5,0;" Hombre Caon":6;7,0;" ";7;q$;6;" ";7;o$;6;" ";7;p$:6;8,0;" ":6;9 ,0;" ";7;o$;6;" ";7;p$;6;" disparo":6;10 ,0;" '";7;f$;6;"'":6;11 ,0;" ";7;a$:9890& !:8888":5;0,9 ;"Instrucciones (2/3)":3,0;6;"- Para controlar un caon hay que situarse dentro":,,;6;"- Cada disparo consume energia, el caon explota si se agota":,,;6;"- Cuando explota un caon, se bloquea el pasillo cercano":9890& !)8888":5;0,9 ;"Instrucciones (3/3)":3,0;6;"- La superficie sobre el reactor central es el punto mas debil, protegela!!!":,,;6;"- Si el reactor es alcanzado, estas acabado":,,;6;"- Obtendras nueva energia al pa- sar de fase" !9890&:9080x#: ": "!borrado parte superior pantalla ": "B0;0;0,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,: #: #&UDGs #' #)4UDGs set 1: (65368-65535) #wselect CHARSET 1 #x023675{\,176:23676|\,254: #: #4UDGs set 2: (65200-65367) #select CHARSET 2 #/23675{\,88X:23676|\,255: #: #Inicializacion y dibujo base #: $0:9180#:7:j=17:0;14,0,,"":14+j,0;e$(j);:j:9080x#:#0;1;0,0,,,,: $Inicializacion canones $Cc(canon, ) $@c(4,8):c(1,1)=4*8-4:c(1,2)=6*8-4:c(1,3)=1.2:c(1,4)=.50:c(1,5)=.85Y:c(1,6)=12 :c(1,7)=0:c(1,8)=200::c(2,1)=11 *8-4:c(2,2)=6*8-4:c(2,3)=2:c(2,4)=0.8L:c(2,5)=1.57H:c(2,6)=7:c(2,7)=0:c(2,8)=160::c(3,1)=22*8-4:c(3,2)=6*8-4:c(3,3)=2.2 :c(3,4)=1:c(3,5)=1.57H:c(3,6)=7:c(3,7)=0:c(3,8)=160::c(4,1)=29*8-4:c(4,2)=6*8-4:c(4,3)=-.50:c(4,4)=-1.2:c(4,5)=-.85Y:c(4,6)=12 :c(4,7)=0:c(4,8)=200 $"di=14:ang=c(i,5):canon=i:2000:i:la subrutina 2000 necesita el "canon" $,canon=0:: $T montanias $^3:0,70F:502,35#:75K,-65A:185,40(:60<,80P:10 ,-15:90Z,70F:70F,20:502,-15 $ $: $9Inicializacion programa. Ver variables globales en 9900 $ $oo$="o":p$="p":q$="q":a$="a":f$=" ":colornave=5:colordisparonave=2:disparonaveatras=2 $Ljr$(10 ,10 ):r(10 ):i=10 1-1:r$(i)="Eddie"+i:r(i)=((11 -i)*200):i:tabla de records $'longcanon=8:difcanon=.30 $e$(9 ,546) $0e$(1)=" " $Be$(2)="         " $Fe$(3)="    " $Fe$(4)="     " $Fe$(5)="    " $Fe$(6)="     " $Fe$(7)="         " $Fe$(8)="" $Fe$(9 )="" $ energia $sedisparo=10 :impactocanon=20:impactoreactor=200:recargareactor=20:destrcanon=500 $t$(14,28):t$(1)=" ":t$(2)=" ":t$(3)=" " $t$(4)=" ":t$(5)=" ":t$(6)=" " %t$(7)=" ":t$(8)=" ":t$(9 )=" " %t$(10 )=" ":t$(11 )=" ":t$(12 )=" " %Zt$(13 )=" ":t$(14)=" " % %: %FIN DEL PROGRAMA % %#0;6;1;1,0;"Realmente quieres salir? (s/n) ":23561 \,255:0:w$=¾23560\:.01z# >,20:w$="s"9990':Fin de ejecucion %&P23561 \,35#:#0;1;6;0;1,0,,: %}: %~INTRO % %`0::yn=3:demo=1:para no comprobar el impacto de los disparos de las naves %d$(7,34"):d$(1)=" ":d$(2)=" ":d$(3)="":d$(4)="":d$(5)="":d$(6)="":d$(7)="":9080x#:UDG set 1 %i=17:14+i,0;d$(i);:i:#0;1;0,0,,,,:s$="Era un apacible dia en el pacifico planeta Krux":9850z&:""9700% %ms$="...hasta que los temibles insectoides atacaron y comenzola masacre!!":9850z&:""9700% %b$=" ":c$=" _ _ _ _ _ ":alcance=8:F1=4:F2=16:n=b$32 -1:5;yn,0;b$(n-31n):5;yn+1,0;c$(n-31n):.002xn,30+20 %Dn=86Vn=80Pn=74Jn=68Dh=1:9670% %Jn=60<N=502alcance=2:x=f1f22:xn=(10 n=60<)+(20n=502):xblanco=x:x2=xblanco*8:y2=175-17*8+1:x1=xn*8+4:y1=175-(yn+1)*8-4:3030 :15,xblanco;" ":16,xblanco;" ":x:f1=17:f2=30 % 9690% %xn=2+(6ƥ>.5):xblanco=30*+1:x2=xblanco*8:y2=175-17*8+1:x1=xn*8+4:y1=175-(yn+1)*8-4:3030 :15,xblanco-(1xblanco>0);" ":16,xblanco-1;" " %$h<2h=h+1:9670% % =""n %""9700% %{0;yn,0,,,,:s$="Defiende tu planeta de las oleadas de invasores usando elsistema de defensa":9850z& %30;yn,0,,,,:9200#:dibujo base %*8000@:titulo zona de combate, menu &>: &E &Fcomenzar cronometro &G &H23674z\,0:23673y\,0:23672x\,0:PRINT #0;AT 0,0; PAPER 2; FLASH 1;"crono on"; PAPER 1; FLASH 0;" ": &R &Y &Zmostrar cronometro &[ &\}#0;0,0;0;"crono: ";((23674z\*65536+23673y\*256+23672x\)/502);" " &p &y"escritura de mensaje en pantalla &zx=1:y=5:i=1̱s$:4;y,x;s$(ii):.002xn,20:x=x+1:x>30x=1:y=y+1 &""9870& &i &59890&:i=5y:0;i,0,,:i: &0mensaje y pulsacion tecla en lineas inferiores &#0;1;8;7;1,1;"Pulsa una tecla para continuar";:0:#0;8;1,0,,: &: & &VARIABLES GLOBALES &HOMBRE &(x,y), (xa,ya), h$ &: &CANON ACTIVO &canon (1-4, ninguno:0) &,c(c,(x,y,maxang,minang,ang,radio,energia)) &: &NAVE &(xn,yn), dir, longnave, prop ': 'FINAL '/:"Gracias por jugar"'''" EddieTheWild 2006" x yolornavolordisparonavisparonaveatraongcanoifcanodispar mpactocanompactoreactoecargareactoestrcanoem5 @x X 3z&OoPpQqAaF S3Era un apacible dia en el pacifico planeta Krux ZonaDeCombPR?y???|xDDDD `g#?<??<~~<0pp0  zc-udgs P R?y???|xDDDD `g#?<??<~~<0pp0