10  REM  ****  $TREK4T  FOUR-TERMINAL STAR TREK GAME  ****
20  REM
30  REM  WRITTEN BY WARD RUTH  MONTEREY HIGH SCHOOL  4-24-78
40  REM
50  REM  FORMATTING BASED ON TREK73 BY W.K. CHAR
60  REM  LOOSLY RELATED TO *TREK BY K.A. MASON  MHS
70  REM  --  SETS UP INITIAL COORDINATE DATA
80  REM
90  FILES *YTREKL
100  DEF FNT()=(3.14159*)/180
110  DEF FNN()=FND((ATN()*180)/3.14159)
120  DEF FNE()=-((>360)*360)
130  DEF FND()=+((<0)*360)
140  PRINT "HOW MANY PLAYERS [2-4]";
150  INPUT N
160  IF N<2 OR N>4 OR N#INT(N) THEN 140
170  REM  ****  IS A GAME IN PROGRESS?  ****
180  Z=0
190  FOR F=1 TO 4
200  IF TYP(1)=3 OR TYP(1)=2 THEN 360
210  READ #1,F;S
220  IF  NOT S THEN 360
230  IF S >= 0 THEN 260
240  Z=Z+1
250  GOTO 300
260  READ #1;O,T2,T1,T0
270  T8=T2*1440+T1*60+T0
280  T9=TIM(2)*1440+TIM(1)*60+TIM(0)
290  IF T9-T8 <= 3 THEN 330
300  NEXT F
310  IF Z=0 THEN 360
320  GOTO 360
330  PRINT "GAME IN PROGRESS"
340  STOP 
350  REM  ****  INITIALIZE SHIPS FROM IMAGINARY CENTER-POINT  ****
360  FOR S=1 TO N
370  D[S]=100000.*RND(0)+50000.
380  T[S]=(360/N)*S*RND(0)
390  L[S]=D[S]*SIN(FNT(T[S]))
400  I[S]=D[S]*COS(FNT(T[S]))
410  NEXT S
420  REM  ****  INITIALIZE SHIPS NAV DATA  ****
430  FOR F=1 TO 4
440  IF F>N THEN 530
450  PRINT #1,F;0,0,TIM(2),TIM(1),TIM(0)
460  FOR S=1 TO N
470  IF F=S THEN 510
480  D=SQR((I[F]-I[S])^2+(L[F]-L[S])^2)
490  T=FNE(FNN((L[F]-L[S])/(I[F]-I[S]))+(((I[F]-I[S])<0)*180))
500  PRINT #1;D,T,D*SIN(FNT(T)),D*COS(FNT(T))
510  NEXT S
520  GOTO 540
530  PRINT #1,F;-1
540  NEXT F
550  CHAIN "*YTREK"
560  END 
