5 CC=0:YC=0 10 CLS 20 PRINT:PRINT:PRINT" BATTAGLIA NAVALE" 100 GOSUB20000 110 DIMA$(6,10),B$(6,10),C$(6),D$(6,10) 112 GOSUB10000:CLS 120 FORX=1TO6:READC$(X):NEXTX 130 DATA" ","Torpediniere ","Sommergibile " 140 DATA"Incrociatore " 150 DATA"Corazzata ","Portaerei " 155 GOSUB40000 190 GOSUB11000 193 GOSUB30000 195 GOSUB13500 240 GOSUB16000 280 GOSUB25000 320 IFCC=20ORYC=20THEN400ELSE240 400 IFCC=20THENA$="Ho vinto io"ELSEA$="Hai vinto tu !!!" 410 CLS:PRINT:PRINTTAB(12);A$ 430 PRINT:PRINT"Vuoi giocare ancora ?" 440 A$=INKEY$:IFA$="s"ORA$="S"THENRUNELSEIFA$="n"ORA$="N"THENEND 450 GOTO440 10000 RETURN 11000 FORI=1TOVAL(RIGHT$(TIME$,2)):D=INT(RND(1)*77):NEXT 11020 FORI=1TOVAL(RIGHT$(TIME$,2)):A=INT(RND(1)*2) 11030 X=6 11035 K=INT(RND(1)*2) 11040 L=INT(RND(1)*6):NEXT 11050 GOSUB12000 11055 IFAA=1THEN11000 11056 Z$="P" 11060 GOSUB13000 11070 FORI=1TOVAL(RIGHT$(TIME$,2)):A=INT(RND(1)*2) 11075 X=5 11080 K=INT(RND(1)*3) 11085 L=INT(RND(1)*7):NEXTI 11090 GOSUB12000 11095 IFAA=1THEN11070 11098 Z$="C" 11100 GOSUB13000 11105 FORI=1TOVAL(RIGHT$(TIME$,2)):A=INT(RND(1*2)) 11110 X=4 11115 K=INT(RND(1)*4) 11117 L=INT(RND(1)*8):NEXTI 11118 GOSUB12000:IFAA=1THEN11105 11120 Z$="I" 11122 GOSUB13000 11125 FORI=1TOVAL(RIGHT$(TIME$,2)):A=INT(RND(1)*2) 11127 X=3 11128 K=INT(RND(1)*5) 11130 L=INT(RND(1)*9):NEXTI 11132 GOSUB12000:IFAA=1THEN11125 11135 Z$="S" 11138 GOSUB13000 11140 FORI=1TOVAL(RIGHT$(TIME$,2)):A=INT(RND(1)*2) 11142 X=2 11144 K=INT(RND(1)*6) 11146 L=INT(RND(1)*10):NEXTI 11148 GOSUB12000:IFAA=1THEN11140 11150 Z$="T" 11152 GOSUB13000 11160 RETURN 11999 RETURN 12000 AA=0 12005 FORP=0TO(X-1) 12010 IFA=1THENIFA$(K+P,L)<>""THENAA=1 12020 IFA=0THENIFA$(K,L+P)<>""THENAA=1 12030 NEXTP 12040 RETURN 13000 FORP=0TO(X-1) 13010 IFA=1THENA$(K+P,L)=Z$ 13020 IFA=0THENA$(K,L+P)=Z$ 13030 NEXTP 13040 RETURN 13500 FORP=6TO2STEP-1 13501 K$="Lunghezza : "+STR$(P) 13502 PRINT:PRINT:PRINT"Tipo di imbarcazione : ";C$(P); 13503 PRINTK$ 13504 AB=0 13510 PRINT"Inserisci coordinate inizio " 13514 E=25 13517 GOSUB50000 13519 E=E+2 13523 Y1=Y:X1=X 13525 PRINT"Inserisci coordinate fine" 13535 GOSUB50000:E=E+2 13540 Y2=Y:X2=X 13541 IFY1=Y2THENGOSUB15000:GOTO13545 13542 IFX1=X2THENGOSUB15500:GOTO13545 13543 PRINT"Hai fatto un errore!":AB=1:GOTO13510 13545 NEXTP 13550 RETURN 14500 PRINT" Coordinate errate !! : riprova"; 14510 AB=1:RETURN 15000 LETL=X1-X2:IFL<1THENL=X2-X1 15002 LETL=L+1 15005 IFL<>PTHENGOSUB14500:P=P+1:RETURN 15006 IFL=6THENZZ$="P"ELSEIFL=5THENZZ$="C"ELSEIFL=4THENZZ$="I" 15007 IFL=3THENZZ$="S"ELSEIFL=2THENZZ$="T" 15015 IFX1>X2THENKK=X1:X1=X2:X2=KK 15020 FORS=X1TOX2:IFB$(S,Y1)<>""THENGOSUB14500:P=P+1:RETURN 15022 NEXTS 15025 FORS=X1TOX2:B$(S,Y1)=ZZ$:NEXTS 15030 GOSUB30000 15040 RETURN 15500 LETL=Y1-Y2:IFL<1THENL=Y2-Y1 15502 LET L=L+1 15505 IFL<>PTHENGOSUB14500:P=P+1:RETURN 15506 IFL=6THENZZ$="P"ELSEIFL=5THENZZ$="C"ELSEIFL=4THENZZ$="I" 15507 IFL=3THENZZ$="S"ELSEIFL=2THENZZ$="T" 15515 IFY1>Y2THENKK=Y1:Y1=Y2:Y2=KK 15520 FORS=Y1TOY2:IFB$(X1,S)<>""THENGOSUB14500:P=P+1:RETURN 15522 NEXTS 15525 FORS=Y1TOY2:B$(X1,S)=ZZ$:NEXTS 15530 GOSUB30000 15540 RETURN 16000 PRINT:PRINT"Inserisci coordinate siluro" 16011 E=25 16041 AB=0 16045 GOSUB50000 16046 E=E+2 16051 IFAB=1THENGOTO16000 16070 IFA$(X,Y)="+"THENPRINT"Gia' provato":BEEP:GOTO16000 16080 IFA$(X,Y)=""THENA$(X,Y)="+":D$(X,Y)="+":GOSUB30000:RETURN 16090 D$(X,Y)=A$(X,Y):GOSUB30000:A$(X,Y)="+":YC=YC+1 17000 RETURN 19999 STOP 20000 A$=INKEY$:IFA$=""THEN20000ELSERETURN 25000 BEEP:BEEP:PRINT:PRINT"Sto pensando la mia mossa..." 25002 IFAZ=0THENFORI=1TOVAL(RIGHT$(TIME$,2)):X=INT(RND(1)*7):NEXTI 25010 IFAZ=0THENFORI=1TOVAL(RIGHT$(TIME$,2)):Y=INT(RND(1)*11):NEXTI 25030 IFAZ=0ANDB$(X,Y)="+"THENW=1:GOTO25002 25032 IFB$(X,Y)<>""ANDB$(X,Y)<>"+"THENLL$=B$(X,Y) 25035 IFAZ=0ANDB$(X,Y)<>""THENLL$=B$(X,Y):B$(X,Y)="+":GOTO26000 25040 IFAZ=0ANDB$(X,Y)=""THENB$(X,Y)="+":GOSUB30000:RETURN 25050 FORP=0TO6:FORQ=0TO10 25060 IFB$(P,Q)=LL$THENX=P:Y=Q:P=11:Q=11:GOTO25080 25070 NEXTQ:NEXTP 25080 IFP=11THENAZ=0:GOTO25030 25085 AZ=0:GOTO25010 25990 RETURN 26000 GOSUB30000:LETCC=CC+1:AZ=1:RETURN 30000 REM 30010 CLS:FORN=0TO6 30020 PRINTSPACE$(2);N+1;CHR$(8); 30030 FORO=0TO10 30040 PRINTD$(N,O);:NEXTO 30050 PRINTSPACE$(7);N+1;CHR$(8); 30060 FORO=0TO10 30070 PRINTB$(N,O); 30075 NEXTO 30077 PRINT 30080 NEXTN 30085 PRINT" ABCDEFGHIJK ABCDEFGHIJK"; 30090 GOSUB20000 30100 RETURN 40000 REM 40010 FORF=0TO6:FORG=0TO10 40020 A$(F,G)="" 40030 B$(F,G)="" 40035 D$(F,G)="" 40040 NEXTG:NEXTF 40050 RETURN 50000 REMinputcoord. 50010 INPUT"(num/lett) ";X$ 50015 IFX$=""THEN50010 50020 IFLEN(X$)<>2THEN50010 50030 XA=ASC(LEFT$(X$,1)) 50040 XB=ASC(RIGHT$(X$,1)) 50045 IFXB>96ANDXB<108THENXB=XB-32 50050 IFXA<49ORXA>55ORXB<65ORXB>75THEN50010 50060 X=XA-49:Y=XB-65 50070 RETURN