Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- SCR
- LOMEM=768
- HIMEM=16384
- 10 FOR I=1 TO 40: ? "*";:NEXT I: ?
- 20 ? "*";: ?TAB(39): ? "*"
- 30 ? "*";: ?TAB(39): ? "*"
- 40 ? "*";: ?TAB(39): ? "*"
- 50 ? "*";: ?TAB(15): ? "STAR TREK";: ?TAB(25): ? "*"
- 60 ? "*";: ?TAB(39): ? "*"
- 70 ? "*";: ?TAB(39): ? "*"
- 80 ? "*";: ?TAB(13): ? "BY VINCE BRIEL";: ?TAB(25): ? "*"
- 90 ? "*";: ?TAB(39): ? "*"
- 100 ? "* PORTED TO EHBASIC BY JASON BENSON *"
- 110 ? "*";: ?TAB(39): ? "*"
- 120 ? "*";: ?TAB(39): ? "*"
- 130 FOR I=1 TO 40: ? "*";:NEXT I: ?
- 140 ?:?
- 150 DIM G(100),S(100),A$(15),N$(25)
- 160 A$(1)="-":A$(2)=".":A$(3)="=" :REM ENTERPRISE -.=
- 162 A$(4)=" ":A$(5)="*":A$(6)=" " :REM STAR *
- 164 A$(7)=">":A$(8)="!":A$(9)="<" :REM BASE >!<
- 166 A$(10)="/":A$(11)="=":A$(12)="\": REM KLINGON /=\
- 168 A$(13)="-":A$(14)="=":A$(15)="-": REM ROMULAN -=-
- 170 INPUT "WHAT IS YOUR NAME CAPTAIN";N$
- 250 INPUT "SKILL LEVEL (1-5) 5 IS HARDEST";S
- 260 IF S>0 AND S<6 THEN 280
- 270 ? "CHOOSE A NUMBER BETWEEN 1 AND 5 PLEASE.":GOTO 250
- 280 ?:?:? "SETTING UP THE GALAXY"
- 290 FOR I=1 TO 100:G(I)=0:NEXT I
- 300 E1=5*S+INT(RND(0)*10):E7=2000:S1=0:T=10
- 310 FOR I=1 TO E1
- 320 X=INT(RND(0)*10)+1:Y=INT(RND(0)*10)+1:C=(10*Y+X)-10
- 325 IF G(C)>=100 THEN 320
- 330 G(C)=G(C)+100:?".";
- 340 NEXT I
- 345 ?""
- 350 FOR I=1 TO 7-S
- 360 X=INT(RND(0)*10)+1:Y=INT(RND(0)*10)+1:C=(10*Y+X)-10:G=G(C)
- 370 IF G<100 THEN 390
- 380 G=G-100:GOTO 370
- 390 IF G>=10 THEN 360
- 400 G(C)=G(C)+10:?".";
- 410 NEXT I
- 415 ?""
- 420 G=INT(RND(0)*300)+1:FOR I=1 TO G
- 430 X=INT(RND(0)*10)+1:Y=INT(RND(0)*10)+1:C=(10*Y+X)-10
- 440 G(C)=G(C)+1:?".";:NEXT I
- 445 ?""
- 450 REM SET UP RANDOM X,Y CORDINATES FOR WHOLE GALAXY
- 460 X1=INT(RND(0)*10)+1:Y1=INT(RND(0)*10)+1:GOTO 2000
- 470 ?:? "LONG RANGE SENSOR SCAN:":?:? E1;" ENEMIES REMAINING.":?
- 475 ?"(KLINGONS|STATIONS|STARS)":?
- 480 IF X1>1 THEN 500
- 490 PRINT " 10 1 2":GOTO 530
- 500 IF X1<10 THEN 520
- 510 PRINT " 9 10 1":GOTO 530
- 520 PRINT TAB(7);:PRINT X1-1;" ";X1;" ";X1+1
- 530 FOR Y=Y1-1 TO Y1+1:Y2=Y:IF Y2<1 THEN Y2=10
- 540 IF Y2>10 THEN Y2=1
- 550 FOR I=1 TO 22:? "-";:NEXT I:?:? Y2;:IF Y2<10 THEN ? " ";
- 560 PRINT " :";:N=1:FOR X=X1-1 TO X1+1:X2=X:IF X2<1 THEN X2=10
- 570 IF X2>10 THEN X2=1
- 580 IF X2=1 THEN 600
- 590 REM ?TAB(N*6)
- 600 C=(10*Y2+X2)-10:IF G(C)<100 THEN PRINT"0";
- 610 IF G(C)<10 THEN PRINT "0";
- 620 PRINT G(C);" : ";:N=N+1:NEXT X:PRINT:N=1:NEXT Y
- 630 FOR I=1 TO 22:PRINT "-";:NEXT I:PRINT:RETURN
- 650 REM SET UP OBJECTS IN QUADRANT PLACE ENTERPRISE FIRST
- 660 X4=INT(RND(0)*10)+1:Y4=INT(RND(0)*10)+1:C=(10*Y4+X4)-10:E6=0:E5=0
- 670 FOR I=1 TO 10:?:NEXT I
- 680 ? "ENTERING QUADRANT ";X1;",";Y1
- 690 FOR I=1 TO 100:S(I)=0:NEXT I:S(C)=1:C=(10*Y1+X1)-10:G=G(C)
- 700 IF G<100 THEN 760
- 710 X=INT(RND(0)*10)+1:Y=INT(RND(0)*10)+1:C=(10*Y+X)-10
- 715 IF S(C)<>0 THEN 710
- 720 D=INT(RND(0)*10)+1:IF D=1 THEN 740
- 730 S(C)=4:E6=100:E5=4:GOTO 750
- 740 S(C)=5:E6=200:E5=5
- 750 G=G-100
- 760 IF G<10 THEN 790
- 770 X=INT(RND(0)*10)+1:Y=INT(RND(0)*10)+1:C=(10*Y+X)-10
- 775 IF S(C)<>0 THEN 770
- 780 S(C)=3:G=G-10:IF G>=10 THEN 770
- 790 IF G=0 THEN 840
- 800 FOR I=1 TO G
- 810 X=INT(RND(0)*10)+1:Y=INT(RND(0)*10)+1:C=(10*Y+X)-10
- 815 IF S(C)<>0 THEN 810
- 820 S(C)=2:NEXT I
- 840 RETURN
- 850 REM ? QUADRANT
- 860 ?:? "QUAD ";X1;",";Y1;" SEC ";X4;",";Y4;" COND: ";
- 865 C1=3:C=(10*Y1+X1)-10:IF G(C) < 10 THEN 880
- 870 C1=2
- 880 IF G(C) < 100 THEN 900
- 890 C1=1
- 900 IF C1=1 THEN ? "RED"
- 910 IF C1=2 THEN ? "YELLOW"
- 920 IF C1=3 THEN ? "GREEN"
- 930 FOR I=1 TO 30:? "-";:NEXT I:
- 935 ?:FOR Y=1 TO 10:FOR X=1 TO 10:C=(10*Y+X)-10:IF S(C)<>0 THEN 950
- 940 ? " ";:GOTO 960
- 950 ? A$((S(C)*3)-2);:? A$((S(C)*3)-1);:? A$(S(C)*3);
- 955 REM PRINT A$((S(C)*3)-2,S(C)*3);
- 960 NEXT X:?:NEXT Y:FOR I=1 TO 30:? "-";:NEXT I:?:?
- 970 ? "ENERGY=";E7;:?TAB(13):? "SHIELDS=";S1;:?TAB(13)
- 975 ? "TORP=";T:RETURN
- 1000 REM PHASORS
- 1010 INPUT "ENTER SHIELD LEVEL";G:IF G<E7 THEN 1030
- 1020 ? "NOT ENOUGH ENERGY.":GOTO 1000
- 1030 S1=G:E7=E7-G:IF S1>0 THEN 1050
- 1040 S1=0
- 1050 RETURN
- 1100 REM ENEMY FIRES
- 1110 IF E6>50 THEN 1130
- 1120 RETURN
- 1130 G=INT(RND(0)*(E6/2))+1:IF E5=5 THEN 1220
- 1140 ? "KLINGON FIRES PHASOR BLAST ";G;" STRONG."
- 1150 S1=S1-G:E6=E6-(G/2):IF S1>0 THEN 1210
- 1160 E7=E7-G*2:S1=0:? "SHIELDS DOWN! ";G*2;" DAMAGE TO SHIPS ENERGY"
- 1170 IF E7>0 THEN 1210
- 1180 ? "THE ENTERPRISE WAS DESTROYED!"
- 1190 ? "YOUR NEXT OF KIN WILL BE NOTIFIED."
- 1200 END
- 1210 RETURN
- 1220 G=G*(INT(RND(0)*3)+1):? "ROMULAN FIRES STRANGE WEAPON...":
- 1225 ? "CAUSES ";G;" IN DAMAGE"
- 1230 GOTO 1150
- 1250 REM WARP SPEED
- 1260 IF S1<=0 THEN 1290
- 1270 ? "CAN'T WARP WITH SHIELDS UP.":GOTO 1900
- 1290 GOSUB 7910:INPUT "DIRECTION ";T1:IF T1<1 OR T1>8 THEN GOTO 1290
- 1300 INPUT "WARP SPEED";G:IF G*10 < E7 THEN 1360
- 1320 ? "NOT ENOUGH ENERGY.":GOTO 1900
- 1360 FOR I=1 TO G:IF T1<>1 THEN 1450
- 1380 X1=X1+1:IF X1>10 THEN X1=1
- 1420 Y1=Y1-1:IF Y1<1 THEN Y1=10
- 1450 IF T1<>2 THEN 1500
- 1480 X1=X1+1:IF X1>10 THEN X1=1
- 1500 IF T1<>3 THEN 1580
- 1520 X1=X1+1:IF X1>10 THEN X1=1
- 1540 Y1=Y1+1:IF Y1>10 THEN Y1=1
- 1580 IF T1<>4 THEN 1640
- 1600 Y1=Y1+1:IF Y1>10 THEN Y1=1
- 1640 IF T1<>5 THEN 1700
- 1660 X1=X1-1:IF X1<1 THEN X1=10
- 1680 Y1=Y1+1:IF Y1>10 THEN Y1=1
- 1700 IF T1<>6 THEN 1760
- 1740 X1=X1-1:IF X1<1 THEN X1=10
- 1760 IF T1<>7 THEN 1820
- 1780 X1=X1-1:IF X1<1 THEN X1=10
- 1800 Y1=Y1-1:IF Y1<1 THEN Y1=10
- 1820 IF T1<>8 THEN 1850
- 1840 Y1=Y1-1:IF Y1<1 THEN Y1=10
- 1850 E7=E7-10:NEXT I:GOSUB 650
- 1870 GOSUB 850
- 1900 RETURN
- 2000 GOSUB 650
- 2010 GOSUB 850
- 2020 ?:? "0:HELP 1:LRS 2:SRS"
- 2022 ? "3:WARP 4:SHIELDS 5:IMPULSE"
- 2024 ? "6:PHASER 7:TORPEDO 8:SELF DESTRUCT"
- 2026 ?:? "COMMAND CAPTAIN ";N$;" (0=HELP) ";
- 2030 INPUT">";C2
- 2040 IF G((10*Y1+X1)-10)<100 THEN 2070
- 2050 G=INT(RND(0)*5)+1:IF G>3 THEN 2070
- 2060 GOSUB 1100
- 2070 IF C2<>0 THEN 2100
- 2080 GOSUB 2360
- 2090 GOTO 2020
- 2100 IF C2<>1 THEN 2130
- 2110 GOSUB 470
- 2120 GOTO 2020
- 2130 IF C2<>2 THEN 2160
- 2140 GOSUB 850
- 2150 GOTO 2020
- 2160 IF C2<>3 THEN 2190
- 2170 GOSUB 1250
- 2180 GOTO 2020
- 2190 IF C2<>4 THEN 2220
- 2200 GOSUB 1000
- 2210 GOTO 2020
- 2220 IF C2<>5 THEN 2250
- 2230 GOSUB 2400
- 2240 GOTO 2020
- 2250 IF C2<>6 THEN 2280
- 2260 GOSUB 3000
- 2270 GOTO 2020
- 2280 IF C2<>7 THEN 2310
- 2290 GOSUB 4200
- 2300 GOTO 2020
- 2310 IF C2<>8 THEN 2350
- 2320 GOTO 7000
- 2350 ? "ENTER A VALID COMMAND.":GOTO 2020
- 2360 ?:? "COMMAND LIST:":?
- 2365 ? "0 = HELP, THIS LIST":? "1 = LONG RANGE SENSOR SCAN"
- 2370 ? "2 = SHORT RANGE SENSOR SCAN":? "3 = WARP ENGINES"
- 2375 ? "4 = SHIELD CONTROL":? "5 = IMPULSE ENGINES"
- 2380 ? "6 = PHASOR CONTROL":? "7 = PHOTON TORPEDO CONTROL"
- 2390 ? "8 = SELF DESTRUCT":RETURN
- 2400 GOSUB 7910:INPUT "DIRECTION (1-8)";D
- 2410 IF D>0 AND D<9 THEN 2440
- 2420 ? "ANSWER BETWEEN 1 AND 8."
- 2430 GOTO 2400
- 2440 INPUT "IMPULSE SPEED";J
- 2450 IF E7>J THEN 2480
- 2460 ? "YOU DON'T HAVE ENOUGH ENERGY!"
- 2470 RETURN
- 2480 S((10*Y4+X4)-10)=0:FOR I=1 TO J:IF D<>1 THEN 2510
- 2490 X4=X4+1:IF X4>10 THEN X4=1
- 2500 Y4=Y4-1:IF Y4<1 THEN Y4=10
- 2510 IF D<>2 THEN 2530
- 2520 X4=X4+1:IF X4>10 THEN X4=1
- 2530 IF D<>3 THEN 2560
- 2540 X4=X4+1:IF X4>10 THEN X4=1
- 2550 Y4=Y4+1:IF Y4>10 THEN Y4=1
- 2560 IF D<>4 THEN 2580
- 2570 Y4=Y4+1:IF Y4>10 THEN Y4=1
- 2580 IF D<>5 THEN 2610
- 2590 X4=X4-1:IF X4<1 THEN X4=10
- 2600 Y4=Y4+1:IF Y4>10 THEN Y4=1
- 2610 IF D<>6 THEN 2630
- 2620 X4=X4-1:IF X4<1 THEN X4=10
- 2630 IF D<>7 THEN 2660
- 2640 X4=X4-1:IF X4<1 THEN X4=10
- 2650 Y4=Y4-1:IF Y4<1 THEN Y4=10
- 2660 IF D<>8 THEN 2680
- 2670 Y4=Y4-1:IF Y4<1 THEN Y4=10
- 2680 E7=E7-1:G=S((10*Y4+X4)-10)
- 2690 IF G=0 THEN 2900
- 2700 IF G<>2 THEN 2750
- 2720 ? "YOU RAN INTO A STAR AND BURNED!"
- 2730 ? "YOUR NEXT OF KIN WILL BE NOTIFIED"
- 2740 END
- 2750 IF G<>3 THEN 2800
- 2770 ? "YOU RAMMED THE STARBASE!"
- 2780 ?:? "THOUSANDS ARE DEAD."
- 2790 ? N$;" WILL BE KNOWN AS A KILLER.":END
- 2800 ? "YOU RAMMED THE ENEMY SHIP"
- 2810 ? "IT WAS DESTROYED BUT SO WAS"
- 2820 ? "THE ENTERPRISE!":END
- 2900 NEXT I
- 2920 S((10*Y4+X4)-10)=1
- 2930 GOSUB 850
- 2940 GOSUB 4050
- 2950 RETURN
- 3000 REM PHASOR CONTROL
- 3010 IF E5<>0 THEN 3100
- 3020 ? "NO ENEMY TO LOCK PHASORS ONTO!":RETURN
- 3100 INPUT "AMOUNT OF ENERGY TO PHASORS";G
- 3110 IF G<E7 THEN 3140
- 3120 ? "YOU DON'T HAVE THAT MUCH ENERGY.":GOTO 3100
- 3130 E7=E7-G
- 3140 IF E5=5 THEN 3390
- 3150 R=INT(RND(0)*10)+1:IF R<>1 THEN 3300
- 3170 ? "PHASORS MISSED!":RETURN
- 3300 ? "KLINGON HIT WITH ";G;" PHASOR UNITS."
- 3310 E6=E6-G:IF E6>0 THEN 3380
- 3320 ? "*** KLINGON DESTROYED ***"
- 3330 G((10*Y1+X1)-10)=G((10*Y1+X1)-10)-100
- 3340 E1=E1-1:IF E1=0 THEN 4000
- 3350 E6=0:E5=0:FOR I=1 TO 100:IF S(I)=4 THEN S(I)=0
- 3360 IF S(I)=5 THEN S(I)=0
- 3370 NEXT I:GOSUB 850
- 3380 RETURN
- 3390 R=INT(RND(0)*5)+1:IF R>3 THEN 3410
- 3400 ? "ROMULAN SHIP AVOIDED PHASOR FIRE!":RETURN
- 3410 ? "ROMULAN HIT WITH ";G;" PHASOR UNITS."
- 3420 E6=E6-G:IF E6>0 THEN 3380
- 3430 ? "*** ROMULAN SHIP DESTROYED ***"
- 3440 G((10*Y1+X1)-10)=G((10*Y1+X1)-10)-100:E1=E1-1:IF E1=0 THEN 4000
- 3450 GOTO 3350
- 4000 FOR I=1 TO 24:?:NEXT I
- 4010 ? "YOU HAVE DEFENDED THE GALAXY AND DEFEATED"
- 4020 ? "ALL ENEMIES! YOU WILL BE PROMOTED TO"
- 4030 ? "ADMIRAL BEFORE BEING SUCKED OUT INTO"
- 4040 ? "SPACE IN STAR TREK GENERATIONS."
- 4050 REM CHECK IF DOCKED
- 4060 D9=0:X=X4-1:IF X<1 THEN X=10
- 4070 X9=X4+1:IF X9>10 THEN X9=1
- 4080 IF S((10*Y4+X)-10)=3 THEN 4120
- 4090 IF S((10*Y4+X9)-10)=3 THEN 4120
- 4100 RETURN
- 4120 IF S1=0 THEN 4140
- 4130 ? "YOU CAN'T DOCK WITH SHIELDS UP.":RETURN
- 4140 ? "YOU ARE DOCKED WITH THE STARBASE":D9=1
- 4150 ? "ENERGY RESTORED":E7=2000:T=10:RETURN
- 4200 REM PHOTON TORPEDO CONTROL
- 4300 IF T>0 THEN 4500
- 4400 ? "YOU DON'T HAVE ANY TORPEDOS.":RETURN
- 4500 GOSUB 7910:INPUT "DIRECTION";D
- 4600 IF D>0 AND D<9 THEN 4800
- 4700 ? "PLEASE CHOOSE BETWEEN 1-8":GOTO 4500
- 4800 X5=X4:Y5=Y4:T=T-1:?:? "TRACKING TORPEDO PATH":?
- 5000 ?TAB(10):? X5;",";Y5: IF D<>1 THEN 5500
- 5100 X5=X5+1:IF X5>10 THEN 6000
- 5300 Y5=Y5-1:IF Y5<1 THEN 6000
- 5500 IF D<>2 THEN 5560
- 5520 X5=X5+1:IF X5>10 THEN 6000
- 5560 IF D<>3 THEN 5680
- 5600 X5=X5+1:IF X5>10 THEN 6000
- 5640 Y5=Y5+1:IF Y5>10 THEN 6000
- 5680 IF D<>4 THEN 5720
- 5700 Y5=Y5+1:IF Y5>10 THEN 6000
- 5720 IF D<>5 THEN 5780
- 5740 X5=X5-1:IF X5<1 THEN 6000
- 5760 Y5=Y5+1:IF Y5>10 THEN 6000
- 5780 IF D<>6 THEN 5800
- 5790 X5=X5-1:IF X5<1 THEN 6000
- 5800 IF D<>7 THEN 5830
- 5810 X5=X5-1:IF X5<1 THEN 6000
- 5820 Y5=Y5-1:IF Y5<1 THEN 6000
- 5830 IF D<>8 THEN 5850
- 5840 Y5=Y5-1:IF Y5<1 THEN 6000
- 5850 V=S((10*Y5+X5)-10):IF V=0 THEN 5000
- 5860 IF V=2 THEN 6200
- 5870 IF V=3 THEN 6400
- 5880 IF V=4 THEN 6450
- 5890 IF V=5 THEN 6600
- 5900 GOTO 5000:REM CONTINUE UNTIL HIT SOMETHING OR LEAVE QUAD
- 6000 REM OUT OF QUADRANT
- 6100 ?:? " ***** TORPEDO MISSED *****":?:RETURN
- 6200 REM HIT STAR
- 6300 ? "TORPEDO EXPLODED IN THE STAR":?:RETURN
- 6400 ? " ***** STAR BASE DESTROYED *****":GOTO 2780
- 6450 ? "KLINGON HIT BY TORPEDO"
- 6460 IF INT(RND(0)*100)+1>98 THEN 6550
- 6470 ?:? "KLINGON DESTROYED"
- 6480 S((10*Y5+X5)-10)=0:G((10*Y1+X1)-10)=G((10*Y1+X1)-10)-100
- 6485 E1=E1-1:E5=0:E6=0:IF E1=0 THEN 4000
- 6490 ?:GOSUB 850
- 6500 RETURN
- 6550 ? "KLINGON SURVIVED IMPACT FROM TORPEDO":E6=E6/2:RETURN
- 6600 ? "ROMULAN HIT BY TORPEDO"
- 6610 IF INT(RND(0)*100)+1<50 THEN 6650
- 6620 ?:? "ROMULAN SHIP DESTROYED!":GOTO 6480
- 6650 ? "ROMULAN SHIELDS HOLDING":E6=E6/2:RETURN
- 7000 ?:? "SELF DESTRUCT SEQUENCE IS NOW ACTIVE"
- 7100 FOR X=10 TO 1 STEP -1
- 7200 ?TAB(19):? X:FOR Y=1 TO 1000:NEXT Y:NEXT X
- 7300 ?:?:? " **** KA-BOOM!!! ****"
- 7400 ? "PIECES OF THE ENTERPRISE ARE NOW"
- 7500 ? "SPREAD ACROSS THE GALAXY"
- 7600 ? "YOUR NEXT OF KIN WILL BE NOTIFIED."
- 7700 END
- 7910 PRINT " 7 8 1"
- 7920 PRINT " \ ^ /"
- 7930 PRINT " \^/"
- 7940 PRINT " 6 ----- 2"
- 7950 PRINT " /^\"
- 7960 PRINT " / ^ \"
- 7970 PRINT " 5 4 3"
- 7980 RETURN
Add Comment
Please, Sign In to add comment