3535310 C(3 ,1 )=- 1 : C(2 ,1 )=- 1 : C(4 ,1 )=- 1 : C(4 ,2 )=- 1 : C(5 ,2 )=- 1 : C(6 ,2 )=- 1
3636320 C(1 ,2 )= 1 : C(2 ,2 )= 1 : C(6 ,1 )= 1 : C(7 ,1 )= 1 : C(8 ,1 )= 1 : C(8 ,2 )= 1 : C(9 ,2 )= 1
3737330 FORI= 1TO8 : D(I)= 0 : NEXTI
38- 340 A1$= "NAVSRSLRSPHATORSHEDAMCOMXXXHLP "
38+ 340 A1$= "NAVSRSLRSPHATOR SHEDAMCOMXXXHLP "
3939350 REM SETUP WHAT EXISTS IN GALAXY . . .
4040360 REM K3= # KLINGONS B3= # STARBASES S3 = # STARS
4141370 FORI= 1TO8 : PRINT "." ; : FORJ= 1TO8 : K3= 0 : Z(I,J)= 0 : R1= RND (1 )
1111111000 GOSUB 6290 : REM ** DIRECTION HELPER **
1121121010 PRINT : LX= 5 : PRINT "COURSE (1-9) : " ; : GOSUB 5860
1131131020 C1= VAL (LII$) : IFC1= 9THENC1= 1
114- 1030 IFC1>= 1ANDC1 < 9THEN GOTO 1060
114+ 1030 IFC1>= 1 AND C1 < 9THEN GOTO 1060
1151151040 PRINT : PRINT "LT. SULU REPORTS, INCORRECT COURSE"
1161161050 PRINT "DATA, SIR!" : GOTO 800
1171171060 X$= "8" : IFD(1 )< 0THENX$= "0.2"
1181181070 SRSFLAG= 1 : LX= 5 : PRINT "WARP FACTOR (0-" ;X$;") : " ; : GOSUB 5860
119- 1080 W1= VAL (LII$) : IFD(1 )< 0ANDW1 > .2THEN GOTO 1130
119+ 1080 W1= VAL (LII$) : IFD(1 )< 0 AND W1 > .2THEN GOTO 1130
1201201090 IF W1> 0 AND W1<= 8 THEN GOTO 1150
1211211100 IF W1= 0 THEN GOTO 800
1221221110 PRINT : PRINT "CHIEF ENGINEER SCOTT REPORTS THE"
1321321210 PRINT "SHIELD ENERGY DEPLOYED IS" ;S1$;" UNITS."
1331331220 GOTO 800
1341341230 REM KLINGONS MOVE/FIRE ON MOVING STARSHIP . . .
135- 1240 FORI= 1TOK3 : IFK(I,3 )= 0THEN GOTO 1270
135+ 1240 FORI= 1 TO K3 : IFK(I,3 )= 0THEN GOTO 1270
1361361250 A$= " " : Z1= K(I,1 ) : Z2= K(I,2 ) : GOSUB 5400 : GOSUB 5370
1371371260 K(I,1 )= Z1 : K(I,2 )= Z2 : A$= ECOL$+ "K" + FCOL$ : GOSUB 5400
138- 1270 NEXTI : GOSUB 3210 : D1= 0 : D6= W1 : IFW1 >= 1THEND6 = 1
138+ 1270 NEXTI : GOSUB 3210 : D1= 0 : D6= W1 : IF W1 >= 1 THEN D6 = 1
1391391280 FORI= 1TO8 : IFD(I)>= 0THEN GOTO 1330
1401401290 D(I)= D(I)+ D6 : IFD(I)>- .1ANDD(I)< 0THEND(I)=- .1 : GOTO 1330
1411411300 IFD(I)< 0THEN GOTO 1330
1521521410 A$= " " : Z1= INT (S1) : Z2= INT (S2) : GOSUB 5400
1531531420 X1= C(C1,1 )+ (C(C1+ 1 ,1 )- C(C1,1 ))* (C1- INT (C1)) : X= S1 : Y= S2
1541541430 X2= C(C1,2 )+ (C(C1+ 1 ,2 )- C(C1,2 ))* (C1- INT (C1)) : Q4= Q1 : Q5= Q2
155- 1440 FORI= 1TON : S1= S1+ X1 : S2= S2+ X2 : IFS1< 1ORS1 >= 9ORS2 < 1ORS2 >= 9THEN GOTO 1580
155+ 1440 FORI= 1 TO N : S1= S1+ X1 : S2= S2+ X2 : IFS1< 1 OR S1 >= 9OR S2 < 1 OR S2 >= 9THEN GOTO 1580
1561561450 S8= INT (S1)* 24 + INT (S2)* 3 - 26 : IFMID$(Q$,S8,2 )= " " THEN GOTO 1510
1571571460 S1= INT (S1- X1) : S2= INT (S2- X2) : PRINT : PRINT "WARP ENGINES SHUT DOWN AT " ;
1581581470 PRINT "SECTOR" ;S1;"," ;S2
1941941830 RETURN
1951951840 REM LONG RANGE SCAN CODE
1961961850 K1= 0
197- 1860 IFD(3 )< 0THENPRINT : PRINT "LONG RANGE SENSORS ARE INOPERABLE"
197+ 1860 IFD(3 )< 0THENPRINT : PRINT "LONG RANGE SENSOR S ARE INOPERABLE"
1981981865 IFD(3 )< 0THEN SLSFLAG= 0 : GOTO 800
1991991870 PRINT : PRINT "LONG RANGE SCAN FOR QUADRANT" ;Q1;"," ;Q2
2002001880 PRINT : O1$= " +-----+-----+-----+" : PRINT O1$;
2252252100 REM PHASER CONTROL CODE BEGINS HERE
2262262110 IFD(4 )< 0THEN PRINT : PRINT "PHASERS INOPERATIVE" : GOTO 800
2272272120 IFK3> 0THEN GOTO 2150
228- 2130 PRINT : PRINT "SCIENCE OFFICER SPOCK REPORTS SENSORS "
228+ 2130 PRINT : PRINT "SCIENCE OFFICER SPOCK REPORTS SENSOR S "
2292292140 PRINT "SHOW NO ENEMY SHIPS IN THIS QUADRANT" : GOTO 800
2302302150 IFD(8 )< 0THENPRINT : PRINT "COMPUTER FAILURE HAMPERS ACCURACY"
2312312160 PRINT : PRINT "PHASERS LOCKED ON TARGET! "
2362362210 E= E- X : IFD(7 )< 0THENX= X* RND (1 )
2372372220 H1= INT (X/ K3) : FORI= 1TO3 : IFK(I,3 )<= 0THEN GOTO 2340
2382382230 H= INT ((H1/ FND(0 ))* (RND (1 )+ 2 )) : IFH> .15 * K(I,3 )THEN GOTO 2270
239- 2240 PRINT : PRINT " SENSORS SHOW NO DAMAGE TO ENEMY"
239+ 2240 PRINT : PRINT " SENSOR S SHOW NO DAMAGE TO ENEMY"
2402402250 PRINT " AT " ;K(I,1 );"," ;K(I,2 )
2412412260 GOTO 2340
2422422270 K(I,3 )= K(I,3 )- H : PRINT
2432432280 PRINT H;"UNIT HIT KLINGON AT" ;K(I,1 );"," ;K(I,2 )
2442442290 IFK(I,3 )<= 0THENPRINT " *** KLINGON DESTROYED ***" : GOTO 2320
245- 2300 PRINT " (SENSORS SHOW" ;INT (K(I,3 ));"UNITS REMAINING)"
245+ 2300 PRINT " (SENSOR S SHOW" ;INT (K(I,3 ));"UNITS REMAINING)"
2462462310 GOTO 2340
2472472320 K3= K3- 1 : K9= K9- 1 : Z1= K(I,1 ) : Z2= K(I,2 ) : A$= " " : GOSUB 5400
2482482330 K(I,3 )= 0 : G(Q1,Q2)= G(Q1,Q2)- 100 : Z(Q1,Q2)= G(Q1,Q2) : IFK9<= 0THEN GOTO 3510
2552552400 GOSUB 6290 : REM ** DIRECTION HELPER **
2562562410 PRINT : LX= 5 : PRINT "PHOTON TORPEDO COURSE (1-9) : " ; : GOSUB 5860
2572572420 C1= VAL (LII$) : IFC1= 9THENC1= 1
258- 2430 IFC1>= 1ANDC1 < 9THEN GOTO 2470
258+ 2430 IFC1>= 1 AND C1 < 9 THEN GOTO 2470
2592592440 PRINT : PRINT "ENSIGN CHEKOV REPORTS, INCORRECT"
2602602450 PRINT "COURSE DATA, SIR!"
2612612460 GOTO 800
2622622470 X1= C(C1,1 )+ (C(C1+ 1 ,1 )- C(C1,1 ))* (C1- INT (C1)) : E= E- 2 : P= P- 1
2632632480 X2= C(C1,2 )+ (C(C1+ 1 ,2 )- C(C1,2 ))* (C1- INT (C1)) : X= S1 : Y= S2
2642642490 PRINT : PRINT "TORPEDO TRACKING:"
2652652500 X= X+ X1 : Y= Y+ X2 : X3= INT (X+ .5 ) : Y3= INT (Y+ .5 )
266- 2510 IFX3< 1ORX3 > 8ORY3< 1ORY3 > 8THEN GOTO 2780
266+ 2510 IFX3< 1 ORX3 > 8ORY3< 1 ORY3 > 8THEN GOTO 2780
2672672520 PRINT " " ;X3;"," ;Y3 : A$= " " : Z1= X : Z2= Y : GOSUB 5560
2682682530 IFZ3<> 0THEN GOTO 2500
2692692540 A$= ECOL$+ "K" + FCOL$ : Z1= X : Z2= Y : GOSUB 5560 : IFZ3= 0THEN GOTO 2610
2982982830 PRINT : PRINT "ENERGY AVAILABLE =" ;E+ S
2992992840 LX= 5 : PRINT "NUMBER OF UNITS TO SHIELDS : " ; : GOSUB 5860
3003002850 X= VAL (LII$)
301- 2860 IFX< 0ORS = XTHEN PRINT "<SHIELDS UNCHANGED>" : GOTO 800
301+ 2860 IFX< 0OR S = XTHEN PRINT "<SHIELDS UNCHANGED>" : GOTO 800
3023022870 IFX<= E+ STHEN GOTO 2910
3033032880 PRINT : PRINT "SHIELD CONTROL REPORTS THIS IS NOT THE"
3043042890 PRINT "FEDERATION TREASURY."
3843843690 IFK3> 0THENC$= CCOL$+ CHR$ (18 )+ "*RED*" + CHR$ (146 )+ FCOL$ : GOTO 3710
3853853700 C$= FCOL$+ "GREEN" + FCOL$ : IFE< E0* .1THENC$= ICOL$+ "AMBER" + FCOL$
3863863710 IFD(2 )>= 0THEN GOTO 3730
387- 3720 PRINT : PRINT "*** SHORT RANGE SENSORS ARE OUT ***"
387+ 3720 PRINT : PRINT "*** SHORT RANGE SENSOR S ARE OUT ***"
3883883722 IF SLSFLAG= 1 THEN GOTO 1840
3893893725 RETURN
3903903730 IF K3= 0 THEN GOTO 3770
5465465310 IFH8= 1THEN GOTO 800
5475475320 NEXTI : GOTO 800
5485485330 IFB3<> 0THEN PRINT : PRINT "FROM ENTERPRISE TO STARBASE" : W1= B4 : X= B5 : GOTO 4870
549- 5340 PRINT : PRINT "MR. SPOCK REPORTS, SENSORS SHOW NO"
549+ 5340 PRINT : PRINT "MR. SPOCK REPORTS, SENSOR S SHOW NO"
5505505350 PRINT "STARBASES IN THIS QUADRANT." : GOTO 800
5515515360 REM FIND EMPTY PLACE IN QUADRANT (FOR THINGS)
5525525370 A$= " "
5625625450 REM PRINTS DEVICE NAME
5635635460 ON R1 GOTO 5470 ,5480 ,5490 ,5500 ,5510 ,5520 ,5530 ,5540
5645645470 G2$= "WARP ENGINES" : RETURN
565- 5480 G2$= "SHORT RANGE SENSORS " : RETURN
566- 5490 G2$= "LONG RANGE SENSORS " : RETURN
565+ 5480 G2$= "SHORT RANGE SENSOR S " : RETURN
566+ 5490 G2$= "LONG RANGE SENSOR S " : RETURN
5675675500 G2$= "PHASER CONTROL" : RETURN
5685685510 G2$= "PHOTON TUBES" : RETURN
5695695520 G2$= "DAMAGE CONTROL" : RETURN
6636636440 IF J= 4 OR J= 8 THEN PRINT "IV " ;
6646646450 PRINT CHR$ (146 );" " ; : RETURN
6656656500 REM ** COLOURS FOR IN-GAME **
666- 6510 ACOL$= CHR$ (144 ) : REM 144 = (00) BLACK
667- 6520 BCOL$= CHR$ (005 ) : REM 005 = (01) WHITE
668- 6530 CCOL$= CHR$ (028 ) : REM 028 = (02) RED
669- 6540 DCOL$= CHR$ (159 ) : REM 159 = (03) CYAN
670- 6550 ECOL$= CHR$ (156 ) : REM 156 = (04) VIOLET
671- 6560 FCOL$= CHR$ (030 ) : REM 030 = (05) GREEN
672- 6570 GCOL$= CHR$ (031 ) : REM 031 = (06) BLUE
673- 6580 HCOL$= CHR$ (158 ) : REM 158 = (07) YELLOW
674- 6590 ICOL$= CHR$ (129 ) : REM 129 = (08) ORANGE
666+ 6510 ACOL$= "" : REM CHR$(144) : REM 144 = (00) BLACK
667+ 6520 BCOL$= "" : REM CHR$(005) : REM 005 = (01) WHITE
668+ 6530 CCOL$= "" : REM CHR$(028) : REM 028 = (02) RED
669+ 6540 DCOL$= "" : REM CHR$(159) : REM 159 = (03) CYAN
670+ 6550 ECOL$= "" : REM CHR$(156) : REM 156 = (04) VIOLET
671+ 6560 FCOL$= "" : REM CHR$(030) : REM 030 = (05) GREEN
672+ 6570 GCOL$= "" : REM CHR$(031) : REM 031 = (06) BLUE
673+ 6580 HCOL$= "" : REM CHR$(158) : REM 158 = (07) YELLOW
674+ 6590 ICOL$= "" : REM CHR$(129) : REM 129 = (08) ORANGE
6756756650 REM ** COLOURS FOR INITIALISATION **
676- 6690 POKE 53280 ,0 : POKE 53281 ,0 : POKE 646 ,5 : RETURN
676+ 6690 REM POKE 53280,0 : POKE 53281,0 : POKE 646,5 : RETURN
6776776695 RETURN
0 commit comments