BATTLESHIPy*********************** ** Battleships ** ** and ** ** Cruisers ** *********************** *Original ZX81 program* * by J.C. Edyvane * *********************** * Spectrum conversion * * by A.Cresswell * ***********************  1000 ***Initialise*** 1:5::7 +23658j\,8:236099\,502 !h=0:i=0:j=0 Ha(2,10 ,10 ):n(2,6):n$(6,11 ) < A.70F:i=16:x$:n$(i)=x$:i FO"BATTLESHIP","CRUISER","DESTROYER 1","DESTROER 2","SUBMARINE 1","SUBMARINE 2" KCs=12:77M:i=16:x:n(s,i)=x:i:s M15,4,3,3,2,2 P 300, *Get player's input* a$:a$=""165 @x=(a$(1))-64@:x>32 x<43+x=x-32 !x<1x>10 165 7a$=a$(2):a$<480ůa$>579165 3y=(a$)+1:y<1y>10 165 #a(2,x,y)<0165  *Computer fire routine* "h0j0222 h0230 Ux=(*10 )+1:y=(*10 )+1:a(1,x,y)<0210  p=h:q=i Pd=-11:u=-11:x=u+p:x<1x>10 263 (y=d+q:y<1y>10 265  #a(1,x,y)<0263  u  d p=h1:q=i1:230  210 ,***Main Program** -7:0 1Q5;" ";7;" Your fleet ";5;" ";7;"Enemy fleet ": 6Jb$=" ABCDEFGHIJ ":5;" ";7;b$;5;" ";7;b$ @Xs=312 :330J:i=14:x:s,x;1;(60<-s):i:s J$2,13 ,18,29 Tx5;" ";7;b$;5;" ";7;b$:15,2;2;1;"I am positioning my fleet" s=16 Pd=(*3)-1:u=(*3)-1:d=0u=0410 2p=(*10 )+1:q=(*10 )+1 ,m=n(1,s)-1:t1=p+d*m:t2=q+u*m :t1>10 t1<1t2>10 t2<1410 8l=0m:a(2,p+d*l,q+u*l)0410 l *l=0m:a(2,p+d*l,q+u*l)=s:l s &015,2;"Enter you ship now. " :,s=16:17,2;n$(s) NBl=1n(2,s):19,2;"Square ";l:160 S.a(1,x,y)0160:595S X=a(1,x,y)=s:13 -y,x+2;n$(s,1):l:s v815,2;5;" " ,17,2;5;" " .19,2;5;" "  k=2 +k=115,2;"MY GO " (k=215,2;"YOUR GO" g=13 s=120:s 317,2;5;" " 16,2;"Fire";g k=1200 k=2160 5z=a(k,x,y):a(k,x,y)=-1:z=0900 D13 -y,x+(k*16)-14;1;2;6;"" H17,2;"BANG!";5;" ":1,1  "k=1h=0h1=x:i1=y  k=1h=x:i=y:j=1 n(k,z)=n(k,z)-1  n(k,z)0875k %$17,2;n$(z);" SUNK!!!" *k=1h=0 /s=1502:s 4.s=16:n(k,s)>0875k 9s >Ak=219,2;6;2;1;"YOU "; CAk=119,2;6;2;1;" I "; H#6;2;1;"WIN!" R;k=12:x=110 :y=110 WMa(k,x,y)=013 -y,x+(k*16)-14;"":.1}L,1 \ga(k,x,y)>013 -y,x+(k*16)-14;1;2;6;"":1,1 a y:x:k f 9990' kk=1502 pg z#k=1+(k-2):670 **Misfire Routine** ;13 -y,x+(k*16)-14;"":.1}L,1 :17,2;"SPLASH!!";5;" " k=1j=0  875k  9990' *Set up U.D.G's* 01020:n="a""b"+7:nn:n,nn:n: M85U,170,85U,170,85U,170,85U,170 M153,90Z,90Z,255,255,90Z,90Z,153 'H21,0;1;" Press any key for another go ";0 ' 0 ' 20 hgh@j AG BATTLESHIP CRUISER DESTROYER 1DESTROER 2 SUBMARINE 1SUBMARINE 2X SUBMARINE 2 RB ABCDEFGHIJ dup qm N RRA2