BATSHIPS *2"Q* w BATTLESHIPS was written Jeff Hamilton of Gillingham ZX COMPUTING apr/may 1983-60  26000p: ** rules ** d)5000:** initialise variables ** n":5300:** set up board ** x%6500d:** set up 3rd square ** 5400:** hide ships ** &z=(*2):z=1150 700:** player go ** 1000:** spectrum go ** 114,14;1;7;"Your go " d$:d$2710  b$=d$(1):c=d$(2) d=b$-64@ 9(c<0c>9 )(d<1d>10 )710 w=d:n=c+1  j=m(n,w) %m(n,w)143hits=hits+1 .2;c,d;j:j>100dj=j-100d .05|L,j-40(  hits=164000  150 .lb=0lc=0ld=01500 .lb=1lc=1ld=11800 #lb>1lc>12000 !m$:m$="H"m$="M"1030 m$="M"1550 m$="H"1580, $?2;x-4,y+9 ;j:j>100djj=j-100d %j>100djj=j &5;1;1;0;x+7,y-3;j 'Bj>100d;0;1;0;x+7,y-3;j (.05|L,jj-140 ) l(x,y)=j .hats=164020 8 140 2x=(*10 )+4:y=(*10 )+4 l(x,y)46.1500 >l(x+1,y)46.l(x,y-1)46 .1500 ya=y+61= +14,14;"MY GO ";ya;x-4 6;1;1;1;x+7,y-3;"?"   j=143 1lb=1lc=1ld=1lz=lz+1 " ,216,14;4;7;"B,C or D?" 6Mn$:n=19 :16,n+13 ;7;7;32 ;:n @hats=hats+1 Jn$="B"1750 Tn$="C"1700 ^n$="D"1650r h rj="D" |ld=ld+1 ld=2lz=0 ld=2ld=0  j="C" lc=lc+1 $lc=3lz=0:ly=0 lc=3lc=0  j="B" lb=lb+1 0lb=3lz=0:ly=0:lr=0 lb=4lb=0  (lb=1lc=1)lz=0(l(x-2,y)46.l(x+1,y)46.)(l(x-1,y)46.l(x+2,y)46.)y=y-1:lz=2:1970 o(lb=1lc=1)lz=1l(x+3,y)46.x=x+1:y=y-1:lz=2:1970 :lz=01890b Dlz=11930 Nlz=21965 Xlz=31985 b x=x-1 ll(x,y)46.1920 vlzd=1:1990 lz=lz+1  x=x+2 l(x,y)46.1960 lzd=2:1990 lz=lz+1 x=x-1:y=y-1 l(x,y)46.1980 lz=lz+1 y=y+2:lzd=4  1520  lzd=12050 lzd=2x=x+1 lzd=32080  lzd=4y=y+1 1520: #lb=2lc=22110>  lb=32300   #lb=2lc=22160p *lb=32400` 4 >5( lb=2lc=2)ly=1 x=x+3: H x=x-1 Rx=32150f \$l(x,y) = 46.ly=ly+1: f&lb=2lc=2x=x+3: p1lb=2lc=2ly=1y=y+3: z y=y-1 y=32200 "l(x,y)=46.ly=ly+1: &lb=2lc=2y=y+3: lr=1x=x+4:  x=x-1 x=3x=x+4:  l(x,y)46.x=x+2: $l(x,y)=46.lr=1: `lr=1y=y+4: j y=y-1 ty=3y=y+4: ~ l(x,y)46.y=y+2: l(x,y)= 46.lr=1: *16,14;"YOU WON":4040 *16,14;" I WON ":4040 #18,14;"AGAIN? (Y/N)" y$ y$="y"4070  y$="y" )21,14;"OK BYE":9000(# ** initialise ** 236099\,100d l(16,16) m(10 ,10 ) (n=110 :w=110 m(n,w)=143 w:n  hits=0:hats=0 Ilb=0:lc=0:ld=0:lz=0:la=0:lzd=0 0lx=0:ly=0:xx=0:lr=0 &x=13:y=13 l(x,y)=100d:y:x (x=413 :y=413 l(x,y)=46.:y:x *x=1416:y=1416  l(x,y)=100d:y:x: ** set up board ** a=09 c1;a;6;2;"..........";7;" ";6;"..........";1;7;a a %1;" ABCDEFGHIJ ABCDEFGHIJ " a=09 .1;a;6;2;"..........":a 8,8:5395 8,96`:5395 "104h,96`:5395: p2;79O,0:2;0,79O:2;-79O,0:2;0,-79O: ** hide ships ** "+ab=6:5600:p=14 , m(n,w)="B" 65640:p @e=12 J;ab=7:5600:5670&:a=15450J Tp=13 ^ m(n,w)="C" h5640:p:e re=13 |;ab=8:5600:5700D:a=15500| p=12  m(n,w)="D" 5640:p:e  a=0:aa=(*2) 9aa=0aa=(*ab)+1:w=(*10 )+1 8aa=1n=(*10 )+1:w=(*ab)+1  aa=0n=n+1 aa=1w=w+1  &[aa=0m(n,w)143m(n+1,w)143m(n+2,w)143a=1 0[aa=1m(n,w)143m(n,w+1)143m(n,w+2)143a=1 DCaa=0m(n,w)143m(n+1,w)143 a=1 NCaa=1m(n,w)143m(n,w+1)143 a=1 X p9y=17:y:n=14:.005y# =,n+y ;;n;n+2;2,5;" " ;;n;n+2;3,5;" " ;;n;n+2;4,5;" " ;;n;n+2;5,5;" " ;;n;n+2;6,5;" " 5;n;n+2;8,8;" " 5;n;n+2;9 ,8;" " 6;n;n+2;10 ,8;" " $6;n;n+2;11 ,8;" " .6;n;n+2;12 ,8;" " 3D;n+1;n+3;14,5;" " 8n:y B 60< Lr;1;7;1;16,0;"Always enter letter and number then press enter " V60<:6400 `4e4@:6410  j;3;6;0;16,0;" First set up 3rd square by inputting one battleship (4 squares) two cruisers (3 sqs) and three destroyers ( 2 sqs) " t60<:6400 ~4e4@:6410  ;1;7;16,0;" When it is your go (top left) input your guess on the spectrums go (top right)input-M-if miss;-H-if hit:if hit you will be asked which ship " 60<:6400 4e4@:6410  -;1;21,8;"Press enter":  -;0;21,8;" ": d** set up 3rd square ** nx$="Battleship (4)" xdf=6:j=66B x=4:6700, x$="Cruiser (3)" #df=7:j=67C:x=3 6700,:6700, x$="Destroyer (2)" #df=8:j=68D:x=2 &6700,:6700,:6700,: ȗ14,17;" ";15,15;" ";16,15;" ";17,18;" ";18,13 ;" "  br=1c=c+1 br=2d=d+1  ,c14,17;3;"Input";15,15;"1 for N/S";16,15;"2 for E/W" 6'br:br<1br>267106 @br=1dd=df:de=9 Jbr=2dd=9 :de=df T14,17;4;"enter";15,15;"starting ";16,15;" square ";17,18;"for";18,13 ;x$ ^a$:a$26750^ h b$=a$(1):c=a$(2) rd=b$-65A |c<0c>dd6750^ d<0d>de6750^  6600  f=1x #c+11 ,d+1;2;j 6630:f:  6ddddddddd........................C...........B........................................................ddddddddd DDDDBBBBCCCDDC itatz j+ cdX Destroyer (2)AH8rzGMHNCDA1BA