mirror of
https://github.com/coding-horror/basic-computer-games.git
synced 2025-12-27 13:14:15 -08:00
Clean up PRINT commands
This commit is contained in:
@@ -18,15 +18,15 @@
|
||||
190 REM *** LINE NUMBERS FROM VERSION STREK7 OF 1/12/75 PRESERVED AS
|
||||
200 REM *** MUCH AS POSSIBLE WHILE USING MULTIPLE STATEMENTS PER LINE
|
||||
205 REM *** SOME LINES ARE LONGER THAN 72 CHARACTERS; THIS WAS DONE
|
||||
210 REM *** BY USING "?" INSTEAD OF "PRINT" WHEN ENTERING LINES
|
||||
210 REM *** BY USING "?" INSTEAD OF "PRINT " WHEN ENTERING LINES
|
||||
215 REM ***
|
||||
220 PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT
|
||||
221 PRINT" ,------*------,"
|
||||
222 PRINT" ,------------- '--- ------'"
|
||||
223 PRINT" '-------- --' / /"
|
||||
224 PRINT" ,---' '-------/ /--,"
|
||||
225 PRINT" '----------------'":PRINT
|
||||
226 PRINT" THE USS ENTERPRISE --- NCC-1701"
|
||||
221 PRINT " ,------*------,"
|
||||
222 PRINT " ,------------- '--- ------'"
|
||||
223 PRINT " '-------- --' / /"
|
||||
224 PRINT " ,---' '-------/ /--,"
|
||||
225 PRINT " '----------------'":PRINT
|
||||
226 PRINT " THE USS ENTERPRISE --- NCC-1701"
|
||||
227 PRINT:PRINT:PRINT:PRINT:PRINT
|
||||
260 REM CLEAR 600
|
||||
270 Z$=" "
|
||||
@@ -54,24 +54,24 @@
|
||||
1150 IF G(Q1,Q2)<200 THEN G(Q1,Q2)=G(Q1,Q2)+120:K9=K9+1
|
||||
1160 B9=1:G(Q1,Q2)=G(Q1,Q2)+10:Q1=FNR(1):Q2=FNR(1)
|
||||
1200 K7=K9:IF B9<>1 THEN X$="S":X0$=" ARE "
|
||||
1230 PRINT"YOUR ORDERS ARE AS FOLLOWS:"
|
||||
1240 PRINT" DESTROY THE";K9;"KLINGON WARSHIPS WHICH HAVE INVADED"
|
||||
1252 PRINT" THE GALAXY BEFORE THEY CAN ATTACK FEDERATION HEADQUARTERS"
|
||||
1260 PRINT" ON STARDATE";T0+T9;" THIS GIVES YOU";T9;"DAYS. THERE";X0$
|
||||
1272 PRINT" ";B9;"STARBASE";X$;" IN THE GALAXY FOR RESUPPLYING YOUR SHIP"
|
||||
1280 PRINT:REM PRINT"HIT ANY KEY EXCEPT RETURN WHEN READY TO ACCEPT COMMAND"
|
||||
1230 PRINT "YOUR ORDERS ARE AS FOLLOWS:"
|
||||
1240 PRINT " DESTROY THE";K9;"KLINGON WARSHIPS WHICH HAVE INVADED"
|
||||
1252 PRINT " THE GALAXY BEFORE THEY CAN ATTACK FEDERATION HEADQUARTERS"
|
||||
1260 PRINT " ON STARDATE";T0+T9;" THIS GIVES YOU";T9;"DAYS. THERE";X0$
|
||||
1272 PRINT " ";B9;"STARBASE";X$;" IN THE GALAXY FOR RESUPPLYING YOUR SHIP"
|
||||
1280 PRINT:REM PRINT "HIT ANY KEY EXCEPT RETURN WHEN READY TO ACCEPT COMMAND"
|
||||
1300 I=RND(1):REM IF INP(1)=13 THEN 1300
|
||||
1310 REM HERE ANY TIME NEW QUADRANT ENTERED
|
||||
1320 Z4=Q1:Z5=Q2:K3=0:B3=0:S3=0:G5=0:D4=.5*RND(1):Z(Q1,Q2)=G(Q1,Q2)
|
||||
1390 IF Q1<1 OR Q1>8 OR Q2<1 OR Q2>8 THEN 1600
|
||||
1430 GOSUB 9030:PRINT:IF T0<>T THEN 1490
|
||||
1460 PRINT"YOUR MISSION BEGINS WITH YOUR STARSHIP LOCATED"
|
||||
1470 PRINT"IN THE GALACTIC QUADRANT, '";G2$;"'.":GOTO 1500
|
||||
1490 PRINT"NOW ENTERING ";G2$;" QUADRANT . . ."
|
||||
1460 PRINT "YOUR MISSION BEGINS WITH YOUR STARSHIP LOCATED"
|
||||
1470 PRINT "IN THE GALACTIC QUADRANT, '";G2$;"'.":GOTO 1500
|
||||
1490 PRINT "NOW ENTERING ";G2$;" QUADRANT . . ."
|
||||
1500 PRINT:K3=INT(G(Q1,Q2)*.01):B3=INT(G(Q1,Q2)*.1)-10*K3
|
||||
1540 S3=G(Q1,Q2)-100*K3-10*B3:IF K3=0 THEN 1590
|
||||
1560 PRINT"COMBAT AREA CONDITION RED":IF S>200 THEN 1590
|
||||
1580 PRINT" SHIELDS DANGEROUSLY LOW"
|
||||
1560 PRINT "COMBAT AREA CONDITION RED":IF S>200 THEN 1590
|
||||
1580 PRINT " SHIELDS DANGEROUSLY LOW"
|
||||
1590 FOR I=1 TO 3:K(I,1)=0:K(I,2)=0:NEXT I
|
||||
1600 FOR I=1 TO 3:K(I,3)=0:NEXT I:Q$=Z$+Z$+Z$+Z$+Z$+Z$+Z$+LEFT$(Z$,17)
|
||||
1660 REM POSITION ENTERPRISE IN QUADRANT, THEN PLACE "K3" KLINGONS, &
|
||||
@@ -84,40 +84,40 @@
|
||||
1910 FOR I=1 TO S3:GOSUB 8590:A$=" * ":Z1=R1:Z2=R2:GOSUB 8670:NEXT I
|
||||
1980 GOSUB 6430
|
||||
1990 IF S+E>10 THEN IF E>10 OR D(7)=0 THEN 2060
|
||||
2020 PRINT:PRINT"** FATAL ERROR ** YOU'VE JUST STRANDED YOUR SHIP IN "
|
||||
2030 PRINT"SPACE":PRINT"YOU HAVE INSUFFICIENT MANEUVERING ENERGY,";
|
||||
2040 PRINT" AND SHIELD CONTROL":PRINT"IS PRESENTLY INCAPABLE OF CROSS";
|
||||
2050 PRINT"-CIRCUITING TO ENGINE ROOM!!":GOTO 6220
|
||||
2020 PRINT:PRINT "** FATAL ERROR ** YOU'VE JUST STRANDED YOUR SHIP IN "
|
||||
2030 PRINT "SPACE":PRINT "YOU HAVE INSUFFICIENT MANEUVERING ENERGY,";
|
||||
2040 PRINT " AND SHIELD CONTROL":PRINT "IS PRESENTLY INCAPABLE OF CROSS";
|
||||
2050 PRINT "-CIRCUITING TO ENGINE ROOM!!":GOTO 6220
|
||||
2060 INPUT"COMMAND";A$
|
||||
2080 FOR I=1 TO 9:IF LEFT$(A$,3)<>MID$(A1$,3*I-2,3) THEN 2160
|
||||
2140 ONIGOTO 2300,1980,4000,4260,4700,5530,5690,7290,6270
|
||||
2160 NEXT I:PRINT"ENTER ONE OF THE FOLLOWING:"
|
||||
2180 PRINT" NAV (TO SET COURSE)"
|
||||
2190 PRINT" SRS (FOR SHORT RANGE SENSOR SCAN)"
|
||||
2200 PRINT" LRS (FOR LONG RANGE SENSOR SCAN)"
|
||||
2210 PRINT" PHA (TO FIRE PHASERS)"
|
||||
2220 PRINT" TOR (TO FIRE PHOTON TORPEDOES)"
|
||||
2230 PRINT" SHE (TO RAISE OR LOWER SHIELDS)"
|
||||
2240 PRINT" DAM (FOR DAMAGE CONTROL REPORTS)"
|
||||
2250 PRINT" COM (TO CALL ON LIBRARY-COMPUTER)"
|
||||
2260 PRINT" XXX (TO RESIGN YOUR COMMAND)":PRINT:GOTO 1990
|
||||
2160 NEXT I:PRINT "ENTER ONE OF THE FOLLOWING:"
|
||||
2180 PRINT " NAV (TO SET COURSE)"
|
||||
2190 PRINT " SRS (FOR SHORT RANGE SENSOR SCAN)"
|
||||
2200 PRINT " LRS (FOR LONG RANGE SENSOR SCAN)"
|
||||
2210 PRINT " PHA (TO FIRE PHASERS)"
|
||||
2220 PRINT " TOR (TO FIRE PHOTON TORPEDOES)"
|
||||
2230 PRINT " SHE (TO RAISE OR LOWER SHIELDS)"
|
||||
2240 PRINT " DAM (FOR DAMAGE CONTROL REPORTS)"
|
||||
2250 PRINT " COM (TO CALL ON LIBRARY-COMPUTER)"
|
||||
2260 PRINT " XXX (TO RESIGN YOUR COMMAND)":PRINT:GOTO 1990
|
||||
2290 REM COURSE CONTROL BEGINS HERE
|
||||
2300 INPUT"COURSE (0-9)";C1:IF C1=9 THEN C1=1
|
||||
2310 IF C1>=1 AND C1<9 THEN 2350
|
||||
2330 PRINT" LT. SULU REPORTS, 'INCORRECT COURSE DATA, SIR!'":GOTO 1990
|
||||
2330 PRINT " LT. SULU REPORTS, 'INCORRECT COURSE DATA, SIR!'":GOTO 1990
|
||||
2350 X$="8":IF D(1)<0 THEN X$="0.2"
|
||||
2360 PRINT"WARP FACTOR (0-";X$;")";:INPUT W1:IF D(1)<0 AND W1>.2 THEN 2470
|
||||
2360 PRINT "WARP FACTOR (0-";X$;")";:INPUT W1:IF D(1)<0 AND W1>.2 THEN 2470
|
||||
2380 IF W1>0 AND W1<=8 THEN 2490
|
||||
2390 IF W1=0 THEN 1990
|
||||
2420 PRINT" CHIEF ENGINEER SCOTT REPORTS 'THE ENGINES WON'T TAKE";
|
||||
2430 PRINT" WARP ";W1;"!'":GOTO 1990
|
||||
2470 PRINT"WARP ENGINES ARE DAMAGED. MAXIUM SPEED = WARP 0.2":GOTO 1990
|
||||
2420 PRINT " CHIEF ENGINEER SCOTT REPORTS 'THE ENGINES WON'T TAKE";
|
||||
2430 PRINT " WARP ";W1;"!'":GOTO 1990
|
||||
2470 PRINT "WARP ENGINES ARE DAMAGED. MAXIUM SPEED = WARP 0.2":GOTO 1990
|
||||
2490 N=INT(W1*8+.5):IF E-N>=0 THEN 2590
|
||||
2500 PRINT"ENGINEERING REPORTS 'INSUFFICIENT ENERGY AVAILABLE"
|
||||
2510 PRINT" FOR MANEUVERING AT WARP";W1;"!'"
|
||||
2500 PRINT "ENGINEERING REPORTS 'INSUFFICIENT ENERGY AVAILABLE"
|
||||
2510 PRINT " FOR MANEUVERING AT WARP";W1;"!'"
|
||||
2530 IF S<N-E OR D(7)<0 THEN 1990
|
||||
2550 PRINT"DEFLECTOR CONTROL ROOM ACKNOWLEDGES";S;"UNITS OF ENERGY"
|
||||
2560 PRINT" PRESENTLY DEPLOYED TO SHIELDS."
|
||||
2550 PRINT "DEFLECTOR CONTROL ROOM ACKNOWLEDGES";S;"UNITS OF ENERGY"
|
||||
2560 PRINT " PRESENTLY DEPLOYED TO SHIELDS."
|
||||
2570 GOTO 1990
|
||||
2580 REM KLINGONS MOVE/FIRE ON MOVING STARSHIP . . .
|
||||
2590 FOR I=1 TO K3:IF K(I,3)=0 THEN 2700
|
||||
@@ -127,22 +127,22 @@
|
||||
2770 FOR I=1 TO 8:IF D(I)>=0 THEN 2880
|
||||
2790 D(I)=D(I)+D6:IF D(I)>-.1 AND D(I)<0 THEN D(I)=-.1:GOTO 2880
|
||||
2800 IF D(I)<0 THEN 2880
|
||||
2810 IF D1<>1 THEN D1=1:PRINT"DAMAGE CONTROL REPORT: ";
|
||||
2840 PRINTTAB(8);:R1=I:GOSUB 8790:PRINT G2$;" REPAIR COMPLETED."
|
||||
2810 IF D1<>1 THEN D1=1:PRINT "DAMAGE CONTROL REPORT: ";
|
||||
2840 PRINT TAB(8);:R1=I:GOSUB 8790:PRINT G2$;" REPAIR COMPLETED."
|
||||
2880 NEXT I:IF RND(1)>.2 THEN 3070
|
||||
2910 R1=FNR(1):IF RND(1)>=.6 THEN 3000
|
||||
2930 D(R1)=D(R1)-(RND(1)*5+1):PRINT"DAMAGE CONTROL REPORT: ";
|
||||
2960 GOSUB 8790:PRINTG2$;" DAMAGED":PRINT:GOTO 3070
|
||||
3000 D(R1)=D(R1)+RND(1)*3+1:PRINT"DAMAGE CONTROL REPORT: ";
|
||||
3030 GOSUB 8790:PRINTG2$;" STATE OF REPAIR IMPROVED":PRINT
|
||||
2930 D(R1)=D(R1)-(RND(1)*5+1):PRINT "DAMAGE CONTROL REPORT: ";
|
||||
2960 GOSUB 8790:PRINT G2$;" DAMAGED":PRINT:GOTO 3070
|
||||
3000 D(R1)=D(R1)+RND(1)*3+1:PRINT "DAMAGE CONTROL REPORT: ";
|
||||
3030 GOSUB 8790:PRINT G2$;" STATE OF REPAIR IMPROVED":PRINT
|
||||
3060 REM BEGIN MOVING STARSHIP
|
||||
3070 A$=" ":Z1=INT(S1):Z2=INT(S2):GOSUB 8670
|
||||
3110 X1=C(C1,1)+(C(C1+1,1)-C(C1,1))*(C1-INT(C1)):X=S1:Y=S2
|
||||
3140 X2=C(C1,2)+(C(C1+1,2)-C(C1,2))*(C1-INT(C1)):Q4=Q1:Q5=Q2
|
||||
3170 FOR I=1 TO N:S1=S1+X1:S2=S2+X2:IF S1<1ORS1>=9 OR S2<1 OR S2>=9 THEN 3500
|
||||
3240 S8=INT(S1)*24+INT(S2)*3-26:IF MID$(Q$,S8,2)=" " THEN 3360
|
||||
3320 S1=INT(S1-X1):S2=INT(S2-X2):PRINT"WARP ENGINES SHUT DOWN AT ";
|
||||
3350 PRINT"SECTOR";S1;",";S2;"DUE TO BAD NAVAGATION":GOTO 3370
|
||||
3320 S1=INT(S1-X1):S2=INT(S2-X2):PRINT "WARP ENGINES SHUT DOWN AT ";
|
||||
3350 PRINT "SECTOR";S1;",";S2;"DUE TO BAD NAVAGATION":GOTO 3370
|
||||
3360 NEXT I:S1=INT(S1):S2=INT(S2)
|
||||
3370 A$="<*>":Z1=INT(S1):Z2=INT(S2):GOSUB 8670:GOSUB 3910:T8=1
|
||||
3430 IF W1<1 THEN T8=.1*INT(10*W1)
|
||||
@@ -158,201 +158,201 @@
|
||||
3710 IF Q2<1 THEN X5=1:Q2=1:S2=1
|
||||
3750 IF Q2>8 THEN X5=1:Q2=8:S2=8
|
||||
3790 IF X5=0 THEN 3860
|
||||
3800 PRINT"LT. UHURA REPORTS MESSAGE FROM STARFLEET COMMAND:"
|
||||
3810 PRINT" 'PERMISSION TO ATTEMPT CROSSING OF GALACTIC PERIMETER"
|
||||
3820 PRINT" IS HEREBY *DENIED*. SHUT DOWN YOUR ENGINES.'"
|
||||
3830 PRINT"CHIEF ENGINEER SCOTT REPORTS 'WARP ENGINES SHUT DOWN"
|
||||
3840 PRINT" AT SECTOR";S1;",";S2;"OF QUADRANT";Q1;",";Q2;".'"
|
||||
3800 PRINT "LT. UHURA REPORTS MESSAGE FROM STARFLEET COMMAND:"
|
||||
3810 PRINT " 'PERMISSION TO ATTEMPT CROSSING OF GALACTIC PERIMETER"
|
||||
3820 PRINT " IS HEREBY *DENIED*. SHUT DOWN YOUR ENGINES.'"
|
||||
3830 PRINT "CHIEF ENGINEER SCOTT REPORTS 'WARP ENGINES SHUT DOWN"
|
||||
3840 PRINT " AT SECTOR";S1;",";S2;"OF QUADRANT";Q1;",";Q2;".'"
|
||||
3850 IF T>T0+T9 THEN 6220
|
||||
3860 IF 8*Q1+Q2=8*Q4+Q5 THEN 3370
|
||||
3870 T=T+1:GOSUB 3910:GOTO 1320
|
||||
3900 REM MANEUVER ENERGY S/R **
|
||||
3910 E=E-N-10:IF E>=0THEN RETURN
|
||||
3930 PRINT"SHIELD CONTROL SUPPLIES ENERGY TO COMPLETE THE MANEUVER."
|
||||
3910 E=E-N-10:IF E>=0 THEN RETURN
|
||||
3930 PRINT "SHIELD CONTROL SUPPLIES ENERGY TO COMPLETE THE MANEUVER."
|
||||
3940 S=S+E:E=0:IF S<=0 THEN S=0
|
||||
3980 RETURN
|
||||
3990 REM LONG RANGE SENSOR SCAN CODE
|
||||
4000 IF D(3)<0 THEN PRINT"LONG RANGE SENSORS ARE INOPERABLE":GOTO 1990
|
||||
4030 PRINT"LONG RANGE SCAN FOR QUADRANT";Q1;",";Q2
|
||||
4000 IF D(3)<0 THEN PRINT "LONG RANGE SENSORS ARE INOPERABLE":GOTO 1990
|
||||
4030 PRINT "LONG RANGE SCAN FOR QUADRANT";Q1;",";Q2
|
||||
4040 O1$="-------------------":PRINT O1$
|
||||
4060 FOR I=Q1-1TOQ1+1:N(1)=-1:N(2)=-2:N(3)=-3:FOR J=Q2-1TOQ2+1
|
||||
4120 IF I>0ANDI<9ANDJ>0ANDJ<9 THEN N(J-Q2+2)=G(I,J):Z(I,J)=G(I,J)
|
||||
4180 NEXT J:FOR L=1TO3:PRINT": ";:IF N(L)<0 THEN PRINT"*** ";:GOTO 4230
|
||||
4210 PRINTRIGHT$(STR$(N(L)+1000),3);" ";
|
||||
4230 NEXT L:PRINT":":PRINTO1$:NEXT I:GOTO 1990
|
||||
4120 IF I>0 AND I<9 AND J>0 AND J<9 THEN N(J-Q2+2)=G(I,J):Z(I,J)=G(I,J)
|
||||
4180 NEXT J:FOR L=1 TO 3:PRINT ": ";:IF N(L)<0 THEN PRINT "*** ";:GOTO 4230
|
||||
4210 PRINT RIGHT$(STR$(N(L)+1000),3);" ";
|
||||
4230 NEXT L:PRINT ":":PRINT O1$:NEXT I:GOTO 1990
|
||||
4250 REM PHASER CONTROL CODE BEGINS HERE
|
||||
4260 IF D(4)<0 THEN PRINT"PHASERS INOPERATIVE":GOTO 1990
|
||||
4260 IF D(4)<0 THEN PRINT "PHASERS INOPERATIVE":GOTO 1990
|
||||
4265 IF K3>0 THEN 4330
|
||||
4270 PRINT"SCIENCE OFFICER SPOCK REPORTS 'SENSORS SHOW NO ENEMY SHIPS"
|
||||
4280 PRINT" IN THIS QUADRANT'":GOTO 1990
|
||||
4330 IF D(8)<0 THEN PRINT"COMPUTER FAILURE HAMPERS ACCURACY"
|
||||
4350 PRINT"PHASERS LOCKED ON TARGET; ";
|
||||
4360 PRINT"ENERGY AVAILABLE =";E;"UNITS"
|
||||
4270 PRINT "SCIENCE OFFICER SPOCK REPORTS 'SENSORS SHOW NO ENEMY SHIPS"
|
||||
4280 PRINT " IN THIS QUADRANT'":GOTO 1990
|
||||
4330 IF D(8)<0 THEN PRINT "COMPUTER FAILURE HAMPERS ACCURACY"
|
||||
4350 PRINT "PHASERS LOCKED ON TARGET; ";
|
||||
4360 PRINT "ENERGY AVAILABLE =";E;"UNITS"
|
||||
4370 INPUT"NUMBER OF UNITS TO FIRE";X:IF X<=0 THEN 1990
|
||||
4400 IF E-X<0 THEN 4360
|
||||
4410 E=E-X:IF D(7)<0 THEN X=X*RND(1)
|
||||
4450 H1=INT(X/K3):FOR I=1TO3:IF K(I,3)<=0 THEN 4670
|
||||
4480 H=INT((H1/FND(0))*(RND(1)+2)):IF H>.15*K(I,3) THEN 4530
|
||||
4500 PRINT"SENSORS SHOW NO DAMAGE TO ENEMY AT ";K(I,1);",";K(I,2):GOTO 4670
|
||||
4530 K(I,3)=K(I,3)-H:PRINTH;"UNIT HIT ON KLINGON AT SECTOR";K(I,1);",";
|
||||
4550 PRINTK(I,2):IF K(I,3)<=0 THEN PRINT"*** KLINGON DESTROYED ***":GOTO 4580
|
||||
4560 PRINT" (SENSORS SHOW";K(I,3);"UNITS REMAINING)":GOTO 4670
|
||||
4500 PRINT "SENSORS SHOW NO DAMAGE TO ENEMY AT ";K(I,1);",";K(I,2):GOTO 4670
|
||||
4530 K(I,3)=K(I,3)-H:PRINT H;"UNIT HIT ON KLINGON AT SECTOR";K(I,1);",";
|
||||
4550 PRINT K(I,2):IF K(I,3)<=0 THEN PRINT "*** KLINGON DESTROYED ***":GOTO 4580
|
||||
4560 PRINT " (SENSORS SHOW";K(I,3);"UNITS REMAINING)":GOTO 4670
|
||||
4580 K3=K3-1:K9=K9-1:Z1=K(I,1):Z2=K(I,2):A$=" ":GOSUB 8670
|
||||
4650 K(I,3)=0:G(Q1,Q2)=G(Q1,Q2)-100:Z(Q1,Q2)=G(Q1,Q2):IF K9<=0 THEN 6370
|
||||
4670 NEXT I:GOSUB 6000:GOTO 1990
|
||||
4690 REM PHOTON TORPEDO CODE BEGINS HERE
|
||||
4700 IF P<=0 THEN PRINT"ALL PHOTON TORPEDOES EXPENDED":GOTO 1990
|
||||
4730 IF D(5)<0 THEN PRINT"PHOTON TUBES ARE NOT OPERATIONAL":GOTO 1990
|
||||
4700 IF P<=0 THEN PRINT "ALL PHOTON TORPEDOES EXPENDED":GOTO 1990
|
||||
4730 IF D(5)<0 THEN PRINT "PHOTON TUBES ARE NOT OPERATIONAL":GOTO 1990
|
||||
4760 INPUT"PHOTON TORPEDO COURSE (1-9)";C1:IF C1=9 THEN C1=1
|
||||
4780 IF C1>=1ANDC1<9 THEN 4850
|
||||
4790 PRINT"ENSIGN CHEKOV REPORTS, 'INCORRECT COURSE DATA, SIR!'"
|
||||
4790 PRINT "ENSIGN CHEKOV REPORTS, 'INCORRECT COURSE DATA, SIR!'"
|
||||
4800 GOTO 1990
|
||||
4850 X1=C(C1,1)+(C(C1+1,1)-C(C1,1))*(C1-INT(C1)):E=E-2:P=P-1
|
||||
4860 X2=C(C1,2)+(C(C1+1,2)-C(C1,2))*(C1-INT(C1)):X=S1:Y=S2
|
||||
4910 PRINT"TORPEDO TRACK:"
|
||||
4910 PRINT "TORPEDO TRACK:"
|
||||
4920 X=X+X1:Y=Y+X2:X3=INT(X+.5):Y3=INT(Y+.5)
|
||||
4960 IF X3<1ORX3>8ORY3<1ORY3>8 THEN 5490
|
||||
5000 PRINT" ";X3;",";Y3:A$=" ":Z1=X:Z2=Y:GOSUB 8830
|
||||
5000 PRINT " ";X3;",";Y3:A$=" ":Z1=X:Z2=Y:GOSUB 8830
|
||||
5050 IF Z3<>0 THEN 4920
|
||||
5060 A$="+K+":Z1=X:Z2=Y:GOSUB 8830:IF Z3=0 THEN 5210
|
||||
5110 PRINT"*** KLINGON DESTROYED ***":K3=K3-1:K9=K9-1:IF K9<=0 THEN 6370
|
||||
5150 FOR I=1TO3:IF X3=K(I,1)ANDY3=K(I,2) THEN 5190
|
||||
5110 PRINT "*** KLINGON DESTROYED ***":K3=K3-1:K9=K9-1:IF K9<=0 THEN 6370
|
||||
5150 FOR I=1TO3:IF X3=K(I,1) AND Y3=K(I,2) THEN 5190
|
||||
5180 NEXT I:I=3
|
||||
5190 K(I,3)=0:GOTO 5430
|
||||
5210 A$=" * ":Z1=X:Z2=Y:GOSUB 8830:IF Z3=0 THEN 5280
|
||||
5260 PRINT"STAR AT";X3;",";Y3;"ABSORBED TORPEDO ENERGY.":GOSUB 6000:GOTO 1990
|
||||
5260 PRINT "STAR AT";X3;",";Y3;"ABSORBED TORPEDO ENERGY.":GOSUB 6000:GOTO 1990
|
||||
5280 A$=">!<":Z1=X:Z2=Y:GOSUB 8830:IF Z3=0 THEN 4760
|
||||
5330 PRINT"*** STARBASE DESTROYED ***":B3=B3-1:B9=B9-1
|
||||
5330 PRINT "*** STARBASE DESTROYED ***":B3=B3-1:B9=B9-1
|
||||
5360 IF B9>0ORK9>T-T0-T9 THEN 5400
|
||||
5370 PRINT"THAT DOES IT, CAPTAIN!! YOU ARE HEREBY RELIEVED OF COMMAND"
|
||||
5380 PRINT"AND SENTENCED TO 99 STARDATES AT HARD LABOR ON CYGNUS 12!!"
|
||||
5370 PRINT "THAT DOES IT, CAPTAIN!! YOU ARE HEREBY RELIEVED OF COMMAND"
|
||||
5380 PRINT "AND SENTENCED TO 99 STARDATES AT HARD LABOR ON CYGNUS 12!!"
|
||||
5390 GOTO 6270
|
||||
5400 PRINT"STARFLEET COMMAND REVIEWING YOUR RECORD TO CONSIDER"
|
||||
5410 PRINT"COURT MARTIAL!":D0=0
|
||||
5400 PRINT "STARFLEET COMMAND REVIEWING YOUR RECORD TO CONSIDER"
|
||||
5410 PRINT "COURT MARTIAL!":D0=0
|
||||
5430 Z1=X:Z2=Y:A$=" ":GOSUB 8670
|
||||
5470 G(Q1,Q2)=K3*100+B3*10+S3:Z(Q1,Q2)=G(Q1,Q2):GOSUB 6000:GOTO 1990
|
||||
5490 PRINT"TORPEDO MISSED":GOSUB 6000:GOTO 1990
|
||||
5490 PRINT "TORPEDO MISSED":GOSUB 6000:GOTO 1990
|
||||
5520 REM SHIELD CONTROL
|
||||
5530 IF D(7)<0 THEN PRINT"SHIELD CONTROL INOPERABLE":GOTO 1990
|
||||
5560 PRINT"ENERGY AVAILABLE =";E+S;:INPUT"NUMBER OF UNITS TO SHIELDS";X
|
||||
5580 IF X<0ORS=X THEN PRINT"<SHIELDS UNCHANGED>":GOTO 1990
|
||||
5530 IF D(7)<0 THEN PRINT "SHIELD CONTROL INOPERABLE":GOTO 1990
|
||||
5560 PRINT "ENERGY AVAILABLE =";E+S;:INPUT"NUMBER OF UNITS TO SHIELDS";X
|
||||
5580 IF X<0ORS=X THEN PRINT "<SHIELDS UNCHANGED>":GOTO 1990
|
||||
5590 IF X<=E+S THEN 5630
|
||||
5600 PRINT"SHIELD CONTROL REPORTS 'THIS IS NOT THE FEDERATION TREASURY.'"
|
||||
5610 PRINT"<SHIELDS UNCHANGED>":GOTO 1990
|
||||
5630 E=E+S-X:S=X:PRINT"DEFLECTOR CONTROL ROOM REPORT:"
|
||||
5660 PRINT" 'SHIELDS NOW AT";INT(S);"UNITS PER YOUR COMMAND.'":GOTO 1990
|
||||
5600 PRINT "SHIELD CONTROL REPORTS 'THIS IS NOT THE FEDERATION TREASURY.'"
|
||||
5610 PRINT "<SHIELDS UNCHANGED>":GOTO 1990
|
||||
5630 E=E+S-X:S=X:PRINT "DEFLECTOR CONTROL ROOM REPORT:"
|
||||
5660 PRINT " 'SHIELDS NOW AT";INT(S);"UNITS PER YOUR COMMAND.'":GOTO 1990
|
||||
5680 REM DAMAGE CONTROL
|
||||
5690 IF D(6)>=0 THEN 5910
|
||||
5700 PRINT"DAMAGE CONTROL REPORT NOT AVAILABLE":IF D0=0 THEN 1990
|
||||
5700 PRINT "DAMAGE CONTROL REPORT NOT AVAILABLE":IF D0=0 THEN 1990
|
||||
5720 D3=0:FOR I=1TO8:IF D(I)<0 THEN D3=D3+.1
|
||||
5760 NEXT I:IF D3=0 THEN 1990
|
||||
5780 PRINT:D3=D3+D4:IF D3>=1 THEN D3=.9
|
||||
5810 PRINT"TECHNICIANS STANDING BY TO EFFECT REPAIRS TO YOUR SHIP;"
|
||||
5820 PRINT"ESTIMATED TIME TO REPAIR:";.01*INT(100*D3);"STARDATES"
|
||||
5810 PRINT "TECHNICIANS STANDING BY TO EFFECT REPAIRS TO YOUR SHIP;"
|
||||
5820 PRINT "ESTIMATED TIME TO REPAIR:";.01*INT(100*D3);"STARDATES"
|
||||
5840 INPUT "WILL YOU AUTHORIZE THE REPAIR ORDER (Y/N)";A$
|
||||
5860 IF A$<>"Y"THEN 1990
|
||||
5860 IF A$<>"Y" THEN 1990
|
||||
5870 FOR I=1TO8:IF D(I)<0 THEN D(I)=0
|
||||
5890 NEXT I:T=T+D3+.1
|
||||
5910 PRINT:PRINT"DEVICE STATE OF REPAIR":FOR R1=1TO8
|
||||
5920 GOSUB 8790:PRINTG2$;LEFT$(Z$,25-LEN(G2$));INT(D(R1)*100)*.01
|
||||
5910 PRINT:PRINT "DEVICE STATE OF REPAIR":FOR R1=1TO8
|
||||
5920 GOSUB 8790:PRINT G2$;LEFT$(Z$,25-LEN(G2$));INT(D(R1)*100)*.01
|
||||
5950 NEXT R1:PRINT:IF D0<>0 THEN 5720
|
||||
5980 GOTO 1990
|
||||
5990 REM KLINGONS SHOOTING
|
||||
6000 IF K3<=0THEN RETURN
|
||||
6010 IF D0<>0 THEN PRINT"STARBASE SHIELDS PROTECT THE ENTERPRISE":RETURN
|
||||
6000 IF K3<=0 THEN RETURN
|
||||
6010 IF D0<>0 THEN PRINT "STARBASE SHIELDS PROTECT THE ENTERPRISE":RETURN
|
||||
6040 FOR I=1TO3:IF K(I,3)<=0 THEN 6200
|
||||
6060 H=INT((K(I,3)/FND(1))*(2+RND(1))):S=S-H:K(I,3)=K(I,3)/(3+RND(0))
|
||||
6080 PRINTH;"UNIT HIT ON ENTERPRISE FROM SECTOR";K(I,1);",";K(I,2)
|
||||
6080 PRINT H;"UNIT HIT ON ENTERPRISE FROM SECTOR";K(I,1);",";K(I,2)
|
||||
6090 IF S<=0 THEN 6240
|
||||
6100 PRINT" <SHIELDS DOWN TO";S;"UNITS>":IF H<20 THEN 6200
|
||||
6100 PRINT " <SHIELDS DOWN TO";S;"UNITS>":IF H<20 THEN 6200
|
||||
6120 IF RND(1)>.6ORH/S<=.02 THEN 6200
|
||||
6140 R1=FNR(1):D(R1)=D(R1)-H/S-.5*RND(1):GOSUB 8790
|
||||
6170 PRINT"DAMAGE CONTROL REPORTS ";G2$;" DAMAGED BY THE HIT'"
|
||||
6170 PRINT "DAMAGE CONTROL REPORTS ";G2$;" DAMAGED BY THE HIT'"
|
||||
6200 NEXT I:RETURN
|
||||
6210 REM END OF GAME
|
||||
6220 PRINT"IT IS STARDATE";T:GOTO 6270
|
||||
6240 PRINT:PRINT"THE ENTERPRISE HAS BEEN DESTROYED. THEN FEDERATION ";
|
||||
6250 PRINT"WILL BE CONQUERED":GOTO 6220
|
||||
6270 PRINT"THERE WERE";K9;"KLINGON BATTLE CRUISERS LEFT AT"
|
||||
6280 PRINT"THE END OF YOUR MISSION."
|
||||
6220 PRINT "IT IS STARDATE";T:GOTO 6270
|
||||
6240 PRINT:PRINT "THE ENTERPRISE HAS BEEN DESTROYED. THEN FEDERATION ";
|
||||
6250 PRINT "WILL BE CONQUERED":GOTO 6220
|
||||
6270 PRINT "THERE WERE";K9;"KLINGON BATTLE CRUISERS LEFT AT"
|
||||
6280 PRINT "THE END OF YOUR MISSION."
|
||||
6290 PRINT:PRINT:IF B9=0 THEN 6360
|
||||
6310 PRINT"THE FEDERATION IS IN NEED OF A NEW STARSHIP COMMANDER"
|
||||
6320 PRINT"FOR A SIMILAR MISSION -- IF THERE IS A VOLUNTEER,"
|
||||
6310 PRINT "THE FEDERATION IS IN NEED OF A NEW STARSHIP COMMANDER"
|
||||
6320 PRINT "FOR A SIMILAR MISSION -- IF THERE IS A VOLUNTEER,"
|
||||
6330 INPUT"LET HIM STEP FORWARD AND ENTER 'AYE'";A$:IF A$="AYE" THEN 10
|
||||
6360 END
|
||||
6370 PRINT"CONGRULATION, CAPTAIN! THEN LAST KLINGON BATTLE CRUISER"
|
||||
6380 PRINT"MENACING THE FDERATION HAS BEEN DESTROYED.":PRINT
|
||||
6400 PRINT"YOUR EFFICIENCY RATING IS";1000*(K7/(T-T0))^2:GOTO 6290
|
||||
6370 PRINT "CONGRULATION, CAPTAIN! THEN LAST KLINGON BATTLE CRUISER"
|
||||
6380 PRINT "MENACING THE FDERATION HAS BEEN DESTROYED.":PRINT
|
||||
6400 PRINT "YOUR EFFICIENCY RATING IS";1000*(K7/(T-T0))^2:GOTO 6290
|
||||
6420 REM SHORT RANGE SENSOR SCAN & STARTUP SUBROUTINE
|
||||
6430 FOR I=S1-1TOS1+1:FOR J=S2-1 TO S2+1
|
||||
6450 IF INT(I+.5)<1ORINT(I+.5)>8ORINT(J+.5)<1ORINT(J+.5)>8 THEN 6540
|
||||
6490 A$=">!<":Z1=I:Z2=J:GOSUB 8830:IF Z3=1 THEN 6580
|
||||
6540 NEXT J:NEXT I:D0=0:GOTO 6650
|
||||
6580 D0=1:C$="DOCKED":E=E0:P=P0
|
||||
6620 PRINT"SHIELDS DROPPED FOR DOCKING PURPOSES":S=0:GOTO 6720
|
||||
6620 PRINT "SHIELDS DROPPED FOR DOCKING PURPOSES":S=0:GOTO 6720
|
||||
6650 IF K3>0 THEN C$="*RED*":GOTO 6720
|
||||
6660 C$="GREEN":IF E<E0*.1 THEN C$="YELLOW"
|
||||
6720 IF D(2)>=0 THEN 6770
|
||||
6730 PRINT:PRINT"*** SHORT RANGE SENSORS ARE OUT ***":PRINT:RETURN
|
||||
6770 O1$="---------------------------------":PRINTO1$:FOR I=1 TO 8
|
||||
6820 FOR J=(I-1)*24+1 TO (I-1)*24+22STEP3:PRINT" ";MID$(Q$,J,3);:NEXT J
|
||||
6730 PRINT:PRINT "*** SHORT RANGE SENSORS ARE OUT ***":PRINT:RETURN
|
||||
6770 O1$="---------------------------------":PRINT O1$:FOR I=1 TO 8
|
||||
6820 FOR J=(I-1)*24+1 TO (I-1)*24+22STEP3:PRINT " ";MID$(Q$,J,3);:NEXT J
|
||||
6830 ONIGOTO 6850,6900,6960,7020,7070,7120,7180,7240
|
||||
6850 PRINT" STARDATE ";INT(T*10)*.1:GOTO 7260
|
||||
6900 PRINT" CONDITION ";C$:GOTO 7260
|
||||
6960 PRINT" QUADRANT ";Q1;",";Q2:GOTO 7260
|
||||
7020 PRINT" SECTOR ";S1;",";S2:GOTO 7260
|
||||
7070 PRINT" PHOTON TORPEDOES ";INT(P):GOTO 7260
|
||||
7120 PRINT" TOTAL ENERGY ";INT(E+S):GOTO 7260
|
||||
7180 PRINT" SHIELDS ";INT(S):GOTO 7260
|
||||
7240 PRINT" KLINGONS REMAINING";INT(K9)
|
||||
6850 PRINT " STARDATE ";INT(T*10)*.1:GOTO 7260
|
||||
6900 PRINT " CONDITION ";C$:GOTO 7260
|
||||
6960 PRINT " QUADRANT ";Q1;",";Q2:GOTO 7260
|
||||
7020 PRINT " SECTOR ";S1;",";S2:GOTO 7260
|
||||
7070 PRINT " PHOTON TORPEDOES ";INT(P):GOTO 7260
|
||||
7120 PRINT " TOTAL ENERGY ";INT(E+S):GOTO 7260
|
||||
7180 PRINT " SHIELDS ";INT(S):GOTO 7260
|
||||
7240 PRINT " KLINGONS REMAINING";INT(K9)
|
||||
7260 NEXT I:PRINT O1$:RETURN
|
||||
7280 REM LIBRARY COMPUTER CODE
|
||||
7290 IF D(8)<0 THEN PRINT"COMPUTER DISABLED":GOTO 1990
|
||||
7290 IF D(8)<0 THEN PRINT "COMPUTER DISABLED":GOTO 1990
|
||||
7320 INPUT"COMPUTER ACTIVE AND AWAITING COMMAND";A:IF A<0 THEN 1990
|
||||
7350 PRINT:H8=1:ONA+1GOTO 7540,7900,8070,8500,8150,7400
|
||||
7360 PRINT"FUNCTIONS AVAILABLE FROM LIBRARY-COMPUTER:"
|
||||
7370 PRINT" 0 = CUMULATIVE GALACTIC RECORD"
|
||||
7372 PRINT" 1 = STATUS REPORT"
|
||||
7374 PRINT" 2 = PHOTON TORPEDO DATA"
|
||||
7376 PRINT" 3 = STARBASE NAV DATA"
|
||||
7378 PRINT" 4 = DIRECTION/DISTANCE CALCULATOR"
|
||||
7380 PRINT" 5 = GALAXY 'REGION NAME' MAP":PRINT:GOTO 7320
|
||||
7360 PRINT "FUNCTIONS AVAILABLE FROM LIBRARY-COMPUTER:"
|
||||
7370 PRINT " 0 = CUMULATIVE GALACTIC RECORD"
|
||||
7372 PRINT " 1 = STATUS REPORT"
|
||||
7374 PRINT " 2 = PHOTON TORPEDO DATA"
|
||||
7376 PRINT " 3 = STARBASE NAV DATA"
|
||||
7378 PRINT " 4 = DIRECTION/DISTANCE CALCULATOR"
|
||||
7380 PRINT " 5 = GALAXY 'REGION NAME' MAP":PRINT:GOTO 7320
|
||||
7390 REM SETUP TO CHANGE CUM GAL RECORD TO GALAXY MAP
|
||||
7400 H8=0:G5=1:PRINT" THE GALAXY":GOTO 7550
|
||||
7400 H8=0:G5=1:PRINT " THE GALAXY":GOTO 7550
|
||||
7530 REM CUM GALACTIC RECORD
|
||||
7540 REM INPUT"DO YOU WANT A HARDCOPY? IS THE TTY ON (Y/N)";A$
|
||||
7542 REM IF A$="Y" THEN POKE1229,2:POKE1237,3:NULL1
|
||||
7543 PRINT:PRINT" ";
|
||||
7544 PRINT"COMPUTER RECORD OF GALAXY FOR QUADRANT";Q1;",";Q2
|
||||
7543 PRINT:PRINT " ";
|
||||
7544 PRINT "COMPUTER RECORD OF GALAXY FOR QUADRANT";Q1;",";Q2
|
||||
7546 PRINT
|
||||
7550 PRINT" 1 2 3 4 5 6 7 8"
|
||||
7550 PRINT " 1 2 3 4 5 6 7 8"
|
||||
7560 O1$=" ----- ----- ----- ----- ----- ----- ----- -----"
|
||||
7570 PRINT O1$:FOR I=1 TO 8:PRINTI;:IF H8=0 THEN 7740
|
||||
7630 FOR J=1 TO 8:PRINT" ";:IF Z(I,J)=0 THEN PRINT"***";:GOTO 7720
|
||||
7700 PRINTRIGHT$(STR$(Z(I,J)+1000),3);
|
||||
7570 PRINT O1$:FOR I=1 TO 8:PRINT I;:IF H8=0 THEN 7740
|
||||
7630 FOR J=1 TO 8:PRINT " ";:IF Z(I,J)=0 THEN PRINT "***";:GOTO 7720
|
||||
7700 PRINT RIGHT$(STR$(Z(I,J)+1000),3);
|
||||
7720 NEXT J:GOTO 7850
|
||||
7740 Z4=I:Z5=1:GOSUB 9030:J0=INT(15-.5*LEN(G2$)):PRINTTAB(J0);G2$;
|
||||
7800 Z5=5:GOSUB 9030:J0=INT(39-.5*LEN(G2$)):PRINTTAB(J0);G2$;
|
||||
7740 Z4=I:Z5=1:GOSUB 9030:J0=INT(15-.5*LEN(G2$)):PRINT TAB(J0);G2$;
|
||||
7800 Z5=5:GOSUB 9030:J0=INT(39-.5*LEN(G2$)):PRINT TAB(J0);G2$;
|
||||
7850 PRINT:PRINT O1$:NEXT I:PRINT:GOTO 1990
|
||||
7890 REM STATUS REPORT
|
||||
7900 PRINT " STATUS REPORT:":X$="":IF K9>1 THEN X$="S"
|
||||
7940 PRINT"KLINGON";X$;" LEFT: ";K9
|
||||
7960 PRINT"MISSION MUST BE COMPLETED IN";.1*INT((T0+T9-T)*10);"STARDATES"
|
||||
7940 PRINT "KLINGON";X$;" LEFT: ";K9
|
||||
7960 PRINT "MISSION MUST BE COMPLETED IN";.1*INT((T0+T9-T)*10);"STARDATES"
|
||||
7970 X$="S":IF B9<2 THEN X$="":IF B9<1 THEN 8010
|
||||
7980 PRINT"THE FEDERATION IS MAINTAINING";B9;"STARBASE";X$;" IN THE GALAXY"
|
||||
7980 PRINT "THE FEDERATION IS MAINTAINING";B9;"STARBASE";X$;" IN THE GALAXY"
|
||||
7990 GOTO 5690
|
||||
8010 PRINT"YOUR STUPIDITY HAS LEFT YOU ON YOUR ON IN"
|
||||
8020 PRINT" THE GALAXY -- YOU HAVE NO STARBASES LEFT!":GOTO 5690
|
||||
8010 PRINT "YOUR STUPIDITY HAS LEFT YOU ON YOUR ON IN"
|
||||
8020 PRINT " THE GALAXY -- YOU HAVE NO STARBASES LEFT!":GOTO 5690
|
||||
8060 REM TORPEDO, BASE NAV, D/D CALCULATOR
|
||||
8070 IF K3<=0 THEN 4270
|
||||
8080 X$="":IF K3>1 THEN X$="S"
|
||||
8090 PRINT"FROM ENTERPRISE TO KLINGON BATTLE CRUSER";X$
|
||||
8090 PRINT "FROM ENTERPRISE TO KLINGON BATTLE CRUSER";X$
|
||||
8100 H8=0:FOR I=1 TO 3:IF K(I,3)<=0 THEN 8480
|
||||
8110 W1=K(I,1):X=K(I,2)
|
||||
8120 C1=S1:A=S2:GOTO 8220
|
||||
8150 PRINT"DIRECTION/DISTANCE CALCULATOR:"
|
||||
8160 PRINT"YOU ARE AT QUADRANT ";Q1;",";Q2;" SECTOR ";S1;",";S2
|
||||
8170 PRINT"PLEASE ENTER":INPUT" INITIAL COORDINATES (X,Y)";C1,A
|
||||
8150 PRINT "DIRECTION/DISTANCE CALCULATOR:"
|
||||
8160 PRINT "YOU ARE AT QUADRANT ";Q1;",";Q2;" SECTOR ";S1;",";S2
|
||||
8170 PRINT "PLEASE ENTER":INPUT" INITIAL COORDINATES (X,Y)";C1,A
|
||||
8200 INPUT" FINAL COORDINATES (X,Y)";W1,X
|
||||
8220 X=X-A:A=C1-W1:IF X<0 THEN 8350
|
||||
8250 IF A<0 THEN 8410
|
||||
@@ -360,25 +360,25 @@
|
||||
8270 IF A=0 THEN C1=5:GOTO 8290
|
||||
8280 C1=1
|
||||
8290 IF ABS(A)<=ABS(X) THEN 8330
|
||||
8310 PRINT"DIRECTION =";C1+(((ABS(A)-ABS(X))+ABS(A))/ABS(A)):GOTO 8460
|
||||
8330 PRINT"DIRECTION =";C1+(ABS(A)/ABS(X)):GOTO 8460
|
||||
8310 PRINT "DIRECTION =";C1+(((ABS(A)-ABS(X))+ABS(A))/ABS(A)):GOTO 8460
|
||||
8330 PRINT "DIRECTION =";C1+(ABS(A)/ABS(X)):GOTO 8460
|
||||
8350 IF A>0 THEN C1=3:GOTO 8420
|
||||
8360 IF X<>0 THEN C1=5:GOTO 8290
|
||||
8410 C1=7
|
||||
8420 IF ABS(A)>=ABS(X) THEN 8450
|
||||
8430 PRINT"DIRECTION =";C1+(((ABS(X)-ABS(A))+ABS(X))/ABS(X)):GOTO 8460
|
||||
8450 PRINT"DIRECTION =";C1+(ABS(X)/ABS(A))
|
||||
8460 PRINT"DISTANCE =";SQR(X^2+A^2):IF H8=1 THEN 1990
|
||||
8430 PRINT "DIRECTION =";C1+(((ABS(X)-ABS(A))+ABS(X))/ABS(X)):GOTO 8460
|
||||
8450 PRINT "DIRECTION =";C1+(ABS(X)/ABS(A))
|
||||
8460 PRINT "DISTANCE =";SQR(X^2+A^2):IF H8=1 THEN 1990
|
||||
8480 NEXT I:GOTO 1990
|
||||
8500 IF B3<>0 THEN PRINT"FROM ENTERPRISE TO STARBASE:":W1=B4:X=B5:GOTO 8120
|
||||
8510 PRINT"MR. SPOCK REPORTS, 'SENSORS SHOW NO STARBASES IN THIS";
|
||||
8520 PRINT" QUADRANT.'":GOTO 1990
|
||||
8500 IF B3<>0 THEN PRINT "FROM ENTERPRISE TO STARBASE:":W1=B4:X=B5:GOTO 8120
|
||||
8510 PRINT "MR. SPOCK REPORTS, 'SENSORS SHOW NO STARBASES IN THIS";
|
||||
8520 PRINT " QUADRANT.'":GOTO 1990
|
||||
8580 REM FIND EMPTY PLACE IN QUADRANT (FOR THINGS)
|
||||
8590 R1=FNR(1):R2=FNR(1):A$=" ":Z1=R1:Z2=R2:GOSUB 8830:IF Z3=0 THEN 8590
|
||||
8600 RETURN
|
||||
8660 REM INSERT IN STRING ARRAY FOR QUADRANT
|
||||
8670 S8=INT(Z2-.5)*3+INT(Z1-.5)*24+1
|
||||
8675 IF LEN(A$)<>3THEN PRINT"ERROR":STOP
|
||||
8675 IF LEN(A$)<>3 THEN PRINT "ERROR":STOP
|
||||
8680 IF S8=1 THEN Q$=A$+RIGHT$(Q$,189):RETURN
|
||||
8690 IF S8=190 THEN Q$=LEFT$(Q$,189)+A$:RETURN
|
||||
8700 Q$=LEFT$(Q$,S8-1)+A$+RIGHT$(Q$,190-S8):RETURN
|
||||
|
||||
Reference in New Issue
Block a user