File: BTLSHP.FC of Tape: Sources/Focal/fc3
(.FC,.FO Focal format converted to 'WRITE' listing) 

C-PS/8 FOCAL, 1971

01.01 C     BTLSHP BY TOM KLOOS
01.02 C     OMSI SOFTWARE DEVELOPMENT GROUP
01.03 C     LAST CHANGE: 8/1/71
01.04 C     ***** TEKTRONIX T-4002 TERMINAL AND JOYSTICK REQUIRED *****
01.05 
01.06 C     YOU HAVE 20 SHOTS TO SINK 3 SHIPS.  GUIDE THE CURSOR
01.07 C TO THE SQUARE YOU CHOOSE AND HIT THE SPACE BAR.  TO MAKE ROOM
01.08 C FOR THE PROGRAM, GROUP 1 WILL BE ERASED.
01.11 I ((#/2)-FITR(#/2)) 1.12,1.14,1.12
01.12 T "YOU DO NOT HAVE ENOUGH FEATURES."
01.13 T "RESTART FOCAL WITH FEATURE 1.";Q
01.14 O I ERASE;E 1

02.05 O I TTY:,E
02.10 S Z=FOUT(1)+FOUT(24);F Z=1,175;
02.20 T !!!!!!"       W E L C O M E   T O   T H E   G A M E   O F"
02.25 T "   B A T T L E S H I P S"
02.30 T !!!!!

03.21 T !!!!!!!"PLEASE WAIT WHILE THE ENEMY SHIPS MOVE INTO POSITION"
03.22 T "         USA";D 15;T !!
03.25 E
03.30 F M=1,36;S M(M)=0
03.35 G 3.45
03.40 S U=(S-1)*6+T;R
03.45 F X=1,3;D 4
03.50 S Q=0
03.55 S J=0;S Q=Q+1
03.60 S J=J+1
03.62 I ((M((Q-1)*6+J)+M((Q-1)*6+J+1)+M(Q*6+J)+M(Q*6+J+1))-4)3.7,3.25
03.70 I (J-5)3.6,3.6;I (Q-5)3.55,3.55;S R=0;G 5.1

04.10 S A=FITR(6*FRAN()+1);S B=FITR(6*FRAN()+1)
04.15 S S=A;S T=B;D 3.4; I (M(U))4.1,4.2,4.1
04.20 S C=FITR(3*FRAN()-1);I (6-(A+C))4.2;I (A+C-1)4.2
04.25 S D=FITR(3*FRAN()-1);I (6-(B+D))4.25;I (B+D-1)4.25
04.30 I (FABS(C)+FABS(D))4.35,4.2,4.35
04.35 S S=A+C;S T=B+D;D 3.4; I (M(U)-1)4.4,4.2
04.40 I (2-X)4.75
04.45 I (6-(A+C+C))4.55;I (A+C+C-1)4.55;I (6-(B+D+D))4.55;I (B+D+D-1)4.55
04.50 S S=A+C+C;S T=B+D+D;D 3.4;I (M(U))4.55,4.7
04.55 I (6-(A-C))4.1;I (A-C-1)4.1;I (6-(B-D))4.1;I (B-D-1)4.1
04.60 S S=A-C;S T=B-D;D 3.4;I (M(U)-1)4.65,4.1
04.65 S M(U)=1;G 4.75
04.70 S S=A+C+C;S T=B+D+D;D 3.4;S M(U)=1
04.75 S S=A+C;S T=B+D;D 3.4; S M(U)=1
04.80 S M((A-1)*6+B)=1
04.85 R

05.10 S R=0;S H=0;T %3.00;D 2.1;D 7
05.11 S R=R+1;I (7-H)11.1;I (20-R)10.1
05.12 S A1=FOUT(1);T !!!!;F A1=1,R;T !
05.13 T "ROUND #"R
05.14 S A1=FJOY()
05.15 I (XJ-300)5.14;I (900-XJ)5.14;I (YJ-100)5.14;I (700-YJ)5.14
05.20 D 6
05.25 I (M(V))5.3,5.26,5.3
05.26 D 8;S M(V)=-2;G 5.11
05.30 I (M(V))5.11;S M(V)=-1;S H=H+1;D 9;G 5.11

06.10 S V=(FITR(YJ/100)-1)*6+FITR((XJ-200)/100)
06.20 S Z=FITR((V-1)/6);S XC=(V-Z*6)*100+250;S YC=Z*100+150

07.10 F XG=300,100,900;S Z=FDIS(0,XG,100)+FDIS(1,XG,700)
07.15 F YG=100,100,700;S Z=FDIS(0,300,YG)+FDIS(1,900,YG)

08.10 S Z=FDIS(0,XJ-7,YJ-7)+FDIS(1,XJ+7,YJ+7)+FDIS(0,XJ-7,YJ+7)
08.20 S Z=FDIS(1,XJ+7,YJ-7)

09.20 F X=0,.2,3.141592;D 9.4
09.30 R
09.40 S Z=FDIS(0,XC+50*FCOS(X),YC+50*FSIN(X));G 9.5
09.50 S Z=FDIS(1,XC-50*FCOS(X),YC-50*FSIN(X))

10.10 D 2.1
10.20 T !!!!!!!!!!"Y O U   A R E   O U T"!!
10.21 T "        O F"!!
10.22 T "A M M U N I T I O N"!!
10.23 T "A N D   L U C K ....."!!
10.30 T !!!!"HERE IS HOW THE"!" HARBOR LOOKS:";D 12
10.40 S Z=FOUT(1);F Z=1,30;T !
10.45 A "WOULD YOU LIKE TO "!"PLAY AGAIN?"Z
10.50 I (Z-0YES)10.51,,10.51
10.51 Q

11.10 D 2.1
11.20 T !!!!!!!!!"Y O U   D I D   I T................"!!!
11.30 T "Y O U   S A N K   A L L   T H E   S H I P S ! ! !"!!!
11.40 T !!!;G 10.45

12.10 D 7;F R=1,36;D 13

13.10 I (M(R))13.3,13.2,13.5
13.20 R
13.30 S V=R;D 6.2;I (M(R)+1)13.4;S XC=XC-30;S YC=YC-10
13.32 S Z=FDIS(0,XC,YC)+FOUT(159);T "H I T"
13.35 R
13.40 S XC=XC-23;S YC=YC-5;S Z=FDIS(0,XC,YC);T "MISS"
13.45 R
13.50 S V=R;D 6.2;S XC=XC-42;S YC=YC-10
13.52 S Z=FDIS(0,XC,YC)+FOUT(159);T "S H I P"
13.60 R

15.01 S X=FDIS(1,575,200)
15.02 S X=FDIS(1,625,150)+FDIS(1,800,150)+FDIS(1,850,200)+FDIS(1,575,200)
15.03 S X=FDIS(1,775,200)+FDIS(1,775,500)+FDIS(1,625,225)+FDIS(1,775,225)
15.04 S X=FDIS(1,775,515)+FDIS(1,745,505)+FDIS(1,775,505)