3000 DEF FN u$(x)=t$(t(x) TO t(x+1)): DIM t(82): LET t$="": LET k$="" 3010 LET l$="": FOR a=32 TO 128: LET l$=l$+CHR$ (a): NEXT a: GO SUB 9030 3015 POKE 23739,244: INK 7: PAPER 0: BORDER 0: BRIGHT 1: CLS 3020 POKE 23606,96: POKE 23607,236: FOR a=1 TO 6: PRINT AT a,0; PAPER 1;c$: NEXT a: POKE 23607,233: FOR a=1 TO 4: PRINT PAPER 1;AT a+1,4;l$((a-1)*24+1 TO a*24): NEXT a 3025 POKE 23607,236 3030 PRINT AT 9,1;"PARA BASIC-2020 \@ BYTEMANIACOS";AT 10,1;"\* DOUBLEHEADEDSECRET (UKRAINE)";AT 11,1;"\@ FACEBOOK.COM/GROUPS/ZXBasic";AT 12,1;"TRADUCCI|N:";AT 13,11;"Zup \@WORLDOFSPECTRUM";AT 14,3;"maeloterkim \@WORLDOFSPECTRUM" 3090 PRINT AT 17,11;"1-ESPA\`OL";AT 18,11;"2-ENGLISH" 3091 PAUSE 0: LET k$=INKEY$: IF k$<>"1" AND k$<>"2" THEN GO TO 3091 3110 RESTORE 3500+VAL k$: OUT 254,VAL k$ 3150 FOR a=1 TO 81 STEP 2: READ k$: LET t(a)=(LEN t$)+1: LET t$=t$+k$: LET t(a+1)=LEN t$: NEXT a: READ k$ 3501 DATA "CONFUEDESVOLINTVID","PROTAGONISTA",CHR$ 20+CHR$ 1+"S"+CHR$ 20+CHR$ 0+" PARA ACEPTAR, OTRA TECLA PARA TIRAR DE NUEVO","TECLEA TU NOMBRE ","{"+CHR$ 20+CHR$ 1+"U"+CHR$ 20+CHR$ 0+"SAR,"+CHR$ 20+CHR$ 1+"M"+CHR$ 20+CHR$ 0+"OVER O "+CHR$ 20+CHR$ 1+"S"+CHR$ 20+CHR$ 0+"UBIR DE NIVEL?"," BA^L"," EST^ CERCA","{"+CHR$ 20+CHR$ 1+"D"+CHR$ 20+CHR$ 0+"ESAFIAR, E"+CHR$ 20+CHR$ 1+"M"+CHR$ 20+CHR$ 0+"BOSCAR O E"+CHR$ 20+CHR$ 1+"S"+CHR$ 20+CHR$ 0+"CONDER?","{"+CHR$ 20+CHR$ 1+"U"+CHR$ 20+CHR$ 0+"SAR,"+CHR$ 20+CHR$ 1+"A"+CHR$ 20+CHR$ 0+"TACAR O "+CHR$ 20+CHR$ 1+"H"+CHR$ 20+CHR$ 0+"UIR?","{ATACAR POR "+CHR$ 20+CHR$ 1+"F"+CHR$ 20+CHR$ 0+"UERZA,"+CHR$ 20+CHR$ 1+"H"+CHR$ 20+CHR$ 0+"ABILIDAD O "+CHR$ 20+CHR$ 1+"M"+CHR$ 20+CHR$ 0+"AGIA?","Atacas por fuerza (","Atacas por habilidad (","Atacas por magia ("," muere","{USAR? (0=NINGUNO)"," defiende por fuerza ("," defiende por habil. ("," defiende por magia (","{DEFENDER POR ",CHR$ 20+CHR$ 1+"F"+CHR$ 20+CHR$ 0+"UE.",CHR$ 20+CHR$ 1+"H"+CHR$ 20+CHR$ 0+"AB.",", "+CHR$ 20+CHR$ 1+"M"+CHR$ 20+CHR$ 0+"AG."," usa un ","JUEGO TERMINADO","Has matado ","[LA VICTORIA!","CON "+CHR$ 6+CHR$ 6+"FUE NIV "+CHR$ 6+CHR$ 6+"DES SIG "+CHR$ 6+CHR$ 6+"VOL VEL "+CHR$ 6+CHR$ 6+"INT "+CHR$ 6+CHR$ 6+"VID ","C+F","F+V","F+D+V","D+V","I+V","Pulse una tecla","Defiendes por fuerza (","Defiendes por habilidad (","Defiendes por magia ("," ataca por fuerza ("," ataca por habilidad ("," ataca por magia (","Generando"," monstruos","sumsdmsahfhm" 3502 DATA "CONSTRDEXWILINTSTA","PROTAGONIST",CHR$ 20+CHR$ 1+"Y"+CHR$ 20+CHR$ 0+" TO ACCEPT, ANY KEY TO RE-ROLL","TYPE YOUR NAME ",CHR$ 20+CHR$ 1+"U"+CHR$ 20+CHR$ 0+"SE,"+CHR$ 20+CHR$ 1+"M"+CHR$ 20+CHR$ 0+"OVE,OR "+CHR$ 20+CHR$ 1+"L"+CHR$ 20+CHR$ 0+"EVEL UP?"," BAAL"," NEARBY ",CHR$ 20+CHR$ 1+"C"+CHR$ 20+CHR$ 0+"HALLENGE,"+CHR$ 20+CHR$ 1+"A"+CHR$ 20+CHR$ 0+"MBUSH,OR "+CHR$ 20+CHR$ 1+"H"+CHR$ 20+CHR$ 0+"IDE?",CHR$ 20+CHR$ 1+"U"+CHR$ 20+CHR$ 0+"SE,"+CHR$ 20+CHR$ 1+"A"+CHR$ 20+CHR$ 0+"TTACK,OR "+CHR$ 20+CHR$ 1+"R"+CHR$ 20+CHR$ 0+"UN?","ATTACK BY "+CHR$ 20+CHR$ 1+"F"+CHR$ 20+CHR$ 0+"ORCE,"+CHR$ 20+CHR$ 1+"S"+CHR$ 20+CHR$ 0+"KILL,OR "+CHR$ 20+CHR$ 1+"M"+CHR$ 20+CHR$ 0+"AGIC?","You attack by force (","You attack by skill (","You attack by magic ("," dies","USE? (0=NONE)"," defends by force ("," defends by skill ("," defends by magic (","DEFEND BY ",CHR$ 20+CHR$ 1+"F"+CHR$ 20+CHR$ 0+"ORCE",CHR$ 20+CHR$ 1+"S"+CHR$ 20+CHR$ 0+"KILL",", "+CHR$ 20+CHR$ 1+"M"+CHR$ 20+CHR$ 0+"AGIC"," uses ","GAME OVER","You have slain ","VICTORY!","CON "+CHR$ 6+CHR$ 6+"STR LEV "+CHR$ 6+CHR$ 6+"DEX STH "+CHR$ 6+CHR$ 6+"WIL SPD "+CHR$ 6+CHR$ 6+"INT "+CHR$ 6+CHR$ 6+"STA ","C+S","S+W","S+D+W","D+W","I+W","Press any key","You defend by force (","You defend by skill (","You defend by magic ("," attacks by force ("," attacks by skill ("," attacks by magic (","Generating"," monsters","yumlcaharfsm" 4000 LET att=0: LET df=0: LET la=0: LET mla=0: LET ld=0: LET mld=0: LET cu=1: LET mcu=0: LET attbef=0: LET attaft=0: LET defbef=0: LET defaft=0: LET ttwb=0: LET ttwa=0: LET ttdb=0: LET ttda=0: LET plyatt=0: DIM d(3): LET plyattyp=0: DIM e(7,2): LET ba=0: LET turn=0: LET a$=FN u$(1): LET n$="": LET e$="": LET x$="": DIM m(10): DIM g(13,10): LET mon=0: GO SUB 9040 4001 RANDOMIZE : PRINT AT 8,0;FN u$(79),;AT 9,0: FOR a=1 TO 42: PRINT ".";: NEXT a: PRINT AT 9,0: LET m$="": LET w$="": LET b$="": LET p$="": FOR a=1 TO 12: GO SUB 9020: GO SUB 4030: IF NOT LEN m$ THEN LET m$=m$+n$: NEXT a 4002 FOR b=1 TO (LEN m$)/6: IF n$<>m$((b-1)*6+1 TO b*6) THEN NEXT b: LET m$=m$+n$: NEXT a: GO TO 4005 4003 GO SUB 4030: GO TO 4002 4005 FOR a=1 TO 12: GO SUB 9020: GO SUB 4040: IF NOT LEN w$ THEN LET w$=w$+n$: NEXT a 4006 FOR b=1 TO (LEN w$)/8: IF n$<>w$((b-1)*8+1 TO b*8) THEN NEXT b: LET w$=w$+n$: NEXT a: GO TO 4008 4007 GO SUB 4040: GO TO 4006 4008 FOR a=1 TO 3: FOR b=1 TO 4: GO SUB 9020: LET g(((a-1)*4+b),9)=a: FOR c=1 TO 6: LET g(((a-1)*4+b),c)=INT (RND*4*a)+1: NEXT c 4009 LET g(((a-1)*4+b),7)=INT (RND*6)+1: LET g(((a-1)*4+b),8)=INT (RND*6)+1: FOR c=1 TO (a-1)*4+b-1: IF g(c,7)=g(((a-1)*4+b),7) AND g(c,8)=g(((a-1)*4+b),8) THEN GO TO 4009 4010 NEXT c: NEXT b: NEXT a: LET g(13,9)=4: FOR c=1 TO 6: LET g(13,c)=INT (RND*16)+1: NEXT c 4011 FOR a=1 TO 6: GO SUB 9020 4012 LET n$="": LET e$="": FOR b=1 TO 12: IF g(b,7)=a AND g(b,8)=6 THEN LET n$=w$((b-1)*8+1 TO b*8) 4013 NEXT b: IF n$="" THEN GO SUB 4040 4014 IF e$<>"" THEN FOR b=1 TO 12: IF n$=w$((b-1)*8+1 TO b*8) THEN GO SUB 4040: GO TO 4014 4016 IF e$<>"" THEN NEXT b 4018 LET b$=b$+n$: NEXT a: GO TO 5000 4030 LET e$="": LET n$="": FOR d=1 TO 2: RESTORE 4100+INT (RND*12)+1: READ e$: LET n$=n$+e$: NEXT d: RETURN 4040 LET e$="": LET n$="": FOR d=1 TO 2: RESTORE 4200+INT (RND*16)+1: READ e$: LET n$=n$+e$: NEXT d: RETURN 4101 DATA "BEE" 4102 DATA "LZE" 4103 DATA "BUB" 4104 DATA "BEL" 4105 DATA "ZEE" 4106 DATA "BLE" 4107 DATA "UBE" 4108 DATA "ZBE" 4109 DATA "ZEL" 4110 DATA "BUZ" 4111 DATA "LEE" 4112 DATA "BEB" 4201 DATA "BELE" 4202 DATA "MOTH" 4203 DATA "BLOD" 4204 DATA "WERE" 4205 DATA "STON" 4206 DATA "SIGH" 4207 DATA "GHOS" 4208 DATA "GLAS" 4209 DATA "MOON" 4210 DATA "STAR" 4211 DATA "WEED" 4212 DATA "IRON" 4213 DATA "FIRE" 4214 DATA "CROW" 4215 DATA "CLAW" 4216 DATA "DOOM" 5001 DIM c(10): DIM s(10): FOR a=1 TO 6: LET c(a)=INT (RND*6)+1: NEXT a: DIM b(6,6): DIM o(6): LET n$=FN u$(3): LET e$="": LET c(7)=1: LET c(8)=c(8)+c(3): LET c(9)=c(9)+c(2) 5002 GO SUB 9000: PRINT AT 15,0;FN u$(5): PAUSE 0: IF INKEY$<>k$(1) THEN GO TO 5000 5003 INPUT FN u$(7);e$: IF LEN e$ AND LEN e$<17 THEN LET n$=e$: LET e$="" 5010 GO SUB 9000: PRINT AT 15,0;FN u$(9), 5011 PAUSE 0: IF INKEY$=k$(2) THEN GO SUB 6120 5012 IF INKEY$=k$(4) THEN IF c(10) THEN LET c(10)=0: LET c(7)=c(7)+1: LET c(8)=c(3): LET c(9)=c(2): GO SUB 9000: GO TO 6000 5013 IF INKEY$=k$(3) THEN GO TO 6000 5015 GO TO 5010 6001 LET turn=0: DIM v(10): LET l=c(7): LET x=INT (RND*25*(1+(l/2=INT (l/2))+2*(l=3)+2*(l=5)))+25*(INT (l/4)+INT (l/6)+INT (l/7)): LET m(9)=INT (x/25)+1: IF m(9)<>4 THEN LET l=INT (RND*4)+1: LET l=(m(9)-1)*4+l: FOR a=1 TO 8: LET m(a)=g(l,a): NEXT a: GO TO 6005 6003 FOR a=1 TO 8: LET m(a)=g(13,a): NEXT a 6005 DIM u(6): LET p=m(9)*2: LET mcu=1 6007 IF m(9)=4 THEN LET e$=FN u$(11): GO TO 6010 6008 LET e$=m$((l-1)*6+1 TO (l*6)) 6010 IF m(9)=1 THEN LET m(10)=1 6015 IF m(9)=2 THEN LET m(10)=2-(RND>(1-1/(c(7)-m(9)+1))) 6020 IF m(9)=3 THEN LET m(10)=3-(RND>(1-1/(c(7)-m(9)+1))) 6025 IF m(9)=4 THEN LET m(10)=3: FOR a=1 TO 5: LET v(a)=c(a): NEXT a 6040 PRINT AT 8,15;e$;FN u$(13): PRINT AT 15,0;FN u$(15), 6041 PAUSE 0: IF INKEY$=k$(7) AND c(8) THEN LET c(8)=c(8)-1: GO SUB 6140: GO SUB 9000: GO TO 6000 6045 IF INKEY$=k$(6) AND c(8) THEN LET c(8)=c(8)-1: GO TO 6055 6048 IF INKEY$=k$(5) THEN GO SUB 9011: PRINT AT 15,0;: GO TO 6300 6049 GO TO 6041 6055 LET turn=turn+1: LET cu=1: GO SUB 9000 6056 PRINT AT 15,0;FN u$(17),: PAUSE 0: IF INKEY$=k$(2) THEN GO SUB 6120: GO SUB 9000 6057 IF INKEY$=k$(8) THEN GO TO 6060 6058 IF INKEY$=k$(9) AND c(9) THEN LET c(9)=c(9)-1: GO SUB 6141: GO SUB 9000: GO TO 6000 6059 GO TO 6056 6060 PRINT AT 15,0;FN u$(19),;AT 15,0; 6070 PAUSE 0: IF INKEY$=k$(10) THEN LET att=c(1)+c(2)+o(1)+o(2): LET la=1: PRINT FN u$(21);att;")",: GO TO 6090 6075 IF INKEY$=k$(11) THEN LET att=c(2)+c(3)+c(4)+o(2)+o(3)+o(4): LET la=2: PRINT FN u$(23);att;")",: GO TO 6090 6080 IF INKEY$=k$(12) THEN LET att=c(4)+c(5)+o(4)+o(5): LET la=3: PRINT FN u$(25);att;")",: GO TO 6090 6089 GO TO 6070 6090 GO SUB 6200: GO SUB 6130: LET m(6)=m(6)-(att-df-u(6))*(att>(df+u(6))): LET u(6)=(u(6)-(att-df)*(att>df))*(u(6)>(att-df)): IF m(6)>0 THEN GO TO 6300 6092 IF m(9)=4 THEN GO TO 6100 6095 PRINT e$+FN u$(27): LET e$="": LET c(10)=c(10)+1: LET mon=mon+1: LET b(m(7),m(8))=b(m(7),m(8))+p: GO SUB 6140: IF m(9)=3 THEN LET c(la+1)=c(la+1)+1 6096 FOR a=1 TO 10: LET s(a)=0: LET v(a)=0: NEXT a: LET la=0: LET ld=0: LET mla=0: LET mld=0: GO SUB 9050: GO TO 5010 6100 PRINT e$+FN u$(27): LET e$="": LET c(10)=c(10)+1: LET mon=mon+1: GO SUB 6140 6101 FOR a=1 TO 10: LET s(a)=0: LET v(a)=0: NEXT a: LET la=0: LET ld=0: LET mla=0: LET mld=0: GO TO 6645 6120 IF NOT cu THEN RETURN 6121 FOR a=1 TO 6: FOR b=1 TO 6: IF b(a,b) THEN FOR c=1 TO 12: IF g(c,7)=a AND g(c,8)=b THEN LET p$=w$((c-1)*8+1 TO c*8): LET x=c: GO TO 6123 6122 NEXT c 6123 IF b(a,b) THEN PRINT AT 15+x-INT ((x-1)/6)*6,INT ((x-1)/6)*16;x;" ";p$;" x";b(a,b) 6125 NEXT b: NEXT a 6126 INPUT FN u$(29);x: IF x>12 AND x<0 THEN GO TO 6126 6127 IF x THEN LET cu=0: LET a=g(x,7): LET b=g(x,8): IF b(a,b) THEN LET b(a,b)=b(a,b)-1: LET o(a)=o(a)+b 6129 RETURN 6130 LET v(la*2+4)=att 6131 LET s((mld=1)+10*(mld=3)+(7+(la=1)+2*(la=2))*(mld=2))=df 6132 IF s(8) AND s(9) THEN LET s(2)=s(8)-s(9) 6133 IF s(8) AND s(7) THEN LET s(3)=s(8)-s(7) 6134 IF s(7) AND s(2) THEN LET s(4)=s(7)-s(2) 6135 IF s(9) AND s(3) THEN LET s(4)=s(9)-s(3) 6136 IF s(10) AND s(4) THEN LET s(5)=s(10)-s(4) 6137 IF s(6) AND s(2) THEN LET s(1)=s(6)-s(2) 6138 GO SUB 9011: RETURN 6140 FOR a=1 TO 6: LET o(a)=0: LET u(a)=0: NEXT a: FOR a=1 TO 10: LET s(a)=0: NEXT a: LET cu=1: RETURN 6141 FOR a=1 TO 6: LET u(a)=0: NEXT a: FOR a=1 TO 10: LET s(a)=0: NEXT a: LET cu=1: RETURN 6200 LET max=m(1)+u(1): IF m(4)+u(4)>m(1)+u(1) THEN LET max=m(4)+u(4) 6201 IF m(5)+u(5)>max THEN LET max=m(5)+u(5) 6202 IF m(5)+u(5)=max THEN LET mld=3: GO TO 6210 6203 IF m(4)+u(4)=max THEN LET mld=2: GO TO 6210 6205 LET mld=1 6210 IF mld=1 THEN LET df=m(1)+u(1): PRINT e$;FN u$(31);df;")",: RETURN 6212 IF mld=2 THEN LET df=m(4)+u(4)+(m(2)+u(2))*(la=1 OR la=3)+(m(3)+u(3))*(la=1 OR la=2): PRINT e$;FN u$(33);df;")",: RETURN 6214 IF mld=3 THEN LET df=m(4)+m(5)+u(4)+u(5): PRINT e$;FN u$(35);df;")",: RETURN 6220 LET max=c(1)+o(1): IF c(4)+o(4)>c(1)+o(1) THEN LET max=c(4)+o(4) 6221 IF c(5)+o(5)>max THEN LET max=c(5)+o(5) 6223 IF c(1)+o(1)=max AND c(4)+o(4)(1-1/(c(7)-m(9)+1))) THEN GO SUB 6350: GO TO 6400 6310 IF m(9)=4 THEN GO TO 6360 6315 GO SUB 6320: GO TO 6335 6320 LET attbef=m(1)+m(2)+u(1)+u(2): IF m(2)+m(3)+m(4)+u(2)+u(3)+u(4)>attbef THEN LET attbef=m(2)+m(3)+m(4)+u(2)+u(3)+u(4) 6321 IF m(4)+m(5)+u(4)+u(5)>attbef THEN LET attbef=m(4)+m(5)+u(4)+u(5) 6322 LET attaft=m(1)+m(2)+u(1)+u(2)+m(8)*(m(7)=1 OR m(7)=2): LET ba=1: IF m(2)+m(3)+m(4)+u(2)+u(3)+u(4)+m(8)*(m(7)=2 OR m(7)=3 OR m(7)=4)>attaft THEN LET attaft=m(2)+m(3)+m(4)+u(2)+u(3)+u(4)+m(8)*(m(7)=2 OR m(7)=3 OR m(7)=4): LET ba=2 6323 IF m(4)+m(5)+u(4)+u(5)+m(8)*(m(7)=4 OR m(7)=5)>attaft THEN LET attaft=m(4)+m(5)+u(4)+u(5)+m(8)*(m(7)=4 OR m(7)=5): LET ba=3 6324 LET max=m(1)+u(1): IF m(4)+u(4)>max THEN LET max=m(4)+u(4) 6325 IF m(5)+u(5)>max THEN LET max=m(5)+u(5) 6326 LET defbef=(m(1)+u(1))*((m(1)+u(1))=max)+(m(4)+m(5)+u(4)+u(5))*((m(5)+u(5))=max)+(m(4)+u(4)+(m(2)+u(2))*(la<>2)+(m(3)+u(3))*(la<>3))*((m(4)+u(4))=max) 6327 LET defaft=(m(1)+u(1)+m(8)*(m(7)=1))*((m(1)+u(1))=max)+(m(4)+m(5)+u(4)+u(5)+m(8)*(m(7)=4 OR m(7)=5))*((m(5)+u(5))=max)+(m(4)+u(4)+(m(8)*(m(7)=4))+(m(2)+u(2)+m(8)*(m(7)=2))*(la<>2)+(m(3)+u(3)+m(8)*(m(7)=3))*(la<>3))*((m(4)+u(4))=max) 6330 LET ttdb=0: LET ttda=0: IF la THEN LET ttdb=INT ((m(6)+u(6))/(att-defbef+(att=defbef)))+1: LET ttda=INT ((m(6)+u(6))/(att-defaft+(att=defaft)))+1 6332 LET ttwb=0: LET ttwa=0: IF ld THEN LET ttwb=INT ((c(6)+u(6))/(attbef-df+(df=attbef)))+1: LET ttwa=INT ((c(6)+u(6))/(attaft-df+(df=attaft)))+1 6334 RETURN 6335 IF ttwattwa THEN GO SUB 6350: GO TO 6400 6340 IF ttda>ttdb THEN GO SUB 6350 6345 GO TO 6400 6350 LET p$=w$((l-1)*8+1 TO l*8): IF m(9)=4 THEN LET p$=b$((m(7)-1)*8+1 TO m(7)*8) 6352 IF p THEN PRINT e$;FN u$(45);p$,: LET u(m(7))=u(m(7))+m(8): LET p=p-1 6355 RETURN 6360 LET plyatt=c(1)+c(2)+o(1)+o(2): LET plyattyp=1: IF c(2)+c(3)+c(4)+o(2)+o(3)+o(4)>plyatt THEN LET plyatt=c(2)+c(3)+c(4)+o(2)+o(3)+o(4): LET plyattyp=2 6361 IF c(4)+c(5)+o(4)+o(5)>plyatt THEN LET plyatt=c(4)+c(5)+o(4)+o(5): LET plyattyp=3 6362 LET max=c(1)+o(1): IF c(4)+o(4)>max THEN LET max=c(4)+o(4) 6363 IF c(5)+o(5)>max THEN LET max=c(5)+o(5) 6364 FOR a=1 TO 3: LET d(a)=(c(1)+o(1))*((c(1)+o(1))=max)+(c(4)+c(5)+o(4)+o(5))*((c(5)+o(5))=max)+(c(4)+o(4)+(c(2)+o(2))*(a<>2)+(c(3)+o(3))*(a<>3))*((c(4)+o(4))=max): NEXT a 6370 LET la=plyattyp: LET att=plyatt: LET df=d(1): LET m(8)=6: LET m(7)=1: GO SUB 6320: LET e(1,1)=ttwb: LET e(1,2)=ttdb: LET e(2,1)=ttwa: LET e(2,2)=ttda: FOR a=2 TO 6: LET m(7)=a: GO SUB 6320: LET ttwa=INT ((c(6)+o(6))/attaft-d(ba))+1: LET e(a+1,1)=ttwa: LET e(a+1,2)=ttda: NEXT a 6380 LET minnum=0: FOR a=1 TO 7: IF e(a,1)>=e(a,2) THEN NEXT a 6381 LET min=e(a,1): LET minnum=a: FOR a=minnum TO 7: IF e(a,1)1 THEN LET u(minnum-1)=u(minnum-1)+6 6400 IF m(10)=1 THEN GO SUB 6320: IF ba=1 THEN GO SUB 9200: GO TO 6600 6402 IF m(10)=1 THEN IF ba=2 THEN GO SUB 9210: GO TO 6600 6404 IF m(10)=1 THEN IF ba=3 THEN GO SUB 9220: GO TO 6600 6420 IF m(10)<>2 THEN GO TO 6440 6421 IF v(1)=0 THEN GO SUB 9200: GO TO 6600 6425 IF v(2)=0 THEN GO SUB 9210: GO TO 6600 6430 IF v(4)=0 THEN GO SUB 9220: GO TO 6600 6435 LET m(10)=1: GO TO 6400 6440 IF m(10)=3 AND turn<=2 THEN GO SUB 9220: GO TO 6600 6446 IF m(10)=3 AND turn>2 THEN LET m(10)=1: GO TO 6400 6500 PRINT #1;AT 0,0;FN u$(47);,,FN u$(49);mon;FN u$(81);: GO SUB 9050: GO TO 4000 6600 GO SUB 6132: GO SUB 6220: LET c(6)=c(6)-(att-df-o(6))*(att>(df+o(6))): LET o(6)=(o(6)-(att-df)*(att>df))*(o(6)>(att-df)): IF c(6)<1 THEN GO TO 6500 6630 LET s(mla*2+4)=att 6631 LET v((ld=1)+10*(ld=3)+(7+(mla=1)+2*(mla=2))*(ld=2))=df 6632 IF v(8) AND v(9) THEN LET v(2)=v(8)-v(9) 6633 IF v(8) AND v(7) THEN LET v(3)=v(8)-v(7) 6634 IF v(7) AND v(2) THEN LET v(4)=s(7)-v(2) 6635 IF v(9) AND v(3) THEN LET v(4)=v(9)-v(3) 6636 IF v(10) AND v(4) THEN LET v(5)=v(10)-v(4) 6637 IF v(6) AND v(2) THEN LET v(1)=v(6)-v(2) 6640 GO SUB 9050: GO TO 6055 6645 PRINT #1;AT 0,0;FN u$(51);,,FN u$(49);mon;FN u$(81);: GO SUB 9050 6650 FOR a=1 TO 6: PRINT INK 2;AT a,0;c$: NEXT a: POKE 23607,233: FOR a=1 TO 4: PRINT INK 2;AT a+1,4;l$((a-1)*24+1 TO a*24): NEXT a 6655 LET x=22592+INT (RND*128): LET y=PEEK x: LET y=y+1-5*(y=70): BEEP 0.1,(y-81): POKE x,y: IF INKEY$="" THEN GO TO 6655 6656 GO TO 3015 8999 STOP 9000 GO SUB 9040: OUT 254,7-c(7): PRINT n$: PRINT FN u$(53): FOR a=1 TO 6: PRINT AT a+8,4;c(a): NEXT a: FOR a=1 TO 6: PRINT AT a+8,6;"+";o(a): NEXT a: FOR a=7 TO 9: PRINT AT a+8-5,14;c(a): NEXT a 9011 LET x=PEEK 23689: PRINT AT 8,15;" ";e$: FOR a=1 TO 5: PRINT AT a+8,17;a$((a-1)*3+1 TO (a-1)*3+3);" ";s(a): NEXT a: PRINT AT 9,24;FN u$(55);AT 10,24;FN u$(57);AT 11,24;FN u$(59);AT 12,24;FN u$(61);AT 13,24;FN u$(63): FOR a=6 TO 10: PRINT AT a+8-5,30;s(a): NEXT a 9015 PRINT AT 24-x,0: RETURN 9020 PRINT "+";: RETURN 9030 LET c$="": FOR a=1 TO 32: LET c$=c$+" ": NEXT a: RETURN 9040 FOR a=8 TO 21: PRINT AT a,0;c$: NEXT a: PRINT #1;AT 0,0;c$;c$: PRINT AT 8,0;: RETURN 9050 PRINT AT 21,0;FN u$(65): PAUSE 0: RETURN 9100 LET ld=1: LET df=c(1)+o(1): PRINT FN u$(67);df;")",: RETURN 9110 LET ld=2: LET df=c(4)+o(4)+(c(2)+o(2))*(mla=1 OR mla=3)+(c(3)+o(3))*(mla=1 OR mla=2): PRINT FN u$(69);df;")",: RETURN 9120 LET ld=3: LET df=c(4)+c(5)+o(4)+o(5): PRINT FN u$(71);df;")",: RETURN 9200 LET att=m(1)+m(2)+u(1)+u(2): LET mla=1: PRINT e$;FN u$(73);att;")",: LET s(6)=att: RETURN 9210 LET att=m(2)+m(3)+m(4)+u(2)+u(3)+u(4): PRINT e$;FN u$(75);att;")",: LET s(8)=att: LET mla=2: RETURN 9220 LET att=m(4)+m(5)+u(4)+u(5): LET mla=3: PRINT e$;FN u$(77);att;")",: LET s(10)=att: RETURN