Star Trip

Products: ZX Star-Trip
Date: 1981
Type: Cassette
Platform(s): TS 1000

Nail the aliens in outer space. Warp, photons, starbases, smart K-ons.

Content

Appears On

Related Products

Nail the aliens in outer space. Warp, photons, starbases, smart K-ons.

Related Articles

Related Content

Image Gallery

Star Trip

Source Code

   5 REM (C)1981 BUG-BYTE
  10 REM **STARTRIP**
  11 LET T=0
  12 GOSUB 9300
  14 FAST 
  16 GOSUB 9200
  18 LET PE=0
  19 LET TE=(RA+1)*8000
  20 LET K=0
  30 LET T=INT (RND*200)+201
  40 LET E=3000
  50 LET O=15
  60 LET S=0
  90 LET L=T
 100 DIM A(8,8)
 125 REM **SET UP SECTORS**
 130 FOR I=1 TO 8
 140 FOR J=1 TO 8
 150 LET Y=0
 160 LET X=INT (RND*RA)+1
 170 IF RND>.88 THEN LET Y=1
 180 LET Z=INT (RND*5)+1
 190 LET A(I,J)=100*X+10*Y+Z
 200 LET K=K+X
 210 NEXT J
 212 NEXT I
 214 LET KL=K
 220 LET P=INT (RND*8)+1
 225 LET Q=INT (RND*8)+1
 228 SLOW 
 230 REM **SET UP CURRENT SECTOR
 232 LET V=0
 240 LET P=P-8*(P>8)+8*(P<1)
 250 LET Q=Q-8*(Q>8)+8*(Q<1)
 255 LET A=INT (RND*8)
 258 LET B=INT (RND*8)
 260 LET Z=A(P,Q)
 270 LET X=INT (Z/100)
 280 LET Z=Z-X*100
 290 LET Y=INT (Z/10)
 300 LET Z=Z-Y*10
 302 DIM G(RA)
 304 DIM H(RA)
 306 DIM K(RA)
 308 PRINT AT 0,0;
 310 FOR I=1 TO 8
 312 PRINT "% % % % % % % % "
 314 NEXT I
 316 PRINT AT A,B;"%$"
 320 FOR I=1 TO X
 321 LET K(I)=-200
 322 LET G(I)=INT (RND*8)
 324 LET H(I)=INT (RND*8)
 326 PRINT AT G(I),H(I);
 327 GOSUB 9000
 328 IF CH<>128 THEN GOTO 322
 330 PRINT "%K"
 332 NEXT I
 334 IF Y=0 THEN GOTO 344
 336 PRINT AT INT (RND*8),INT (RND*8);
 338 GOSUB 9000
 340 IF CH<>128 THEN GOTO 336
 342 PRINT "\''"
 344 FOR I=1 TO Z
 346 PRINT AT INT (RND*8),INT (RND*8);
 348 GOSUB 9000
 350 IF CH<>128 THEN GOTO 346
 352 PRINT "%*"
 354 NEXT I
 400 LET C$="GREEN"
 402 IF E<=0 THEN GOTO 9800
 410 IF X<>0 THEN LET C$="RED"
 420 PRINT AT A,B-1+(B=0);
 430 GOSUB 9000
 440 IF CH=3 THEN LET C$="DOCKED"
 442 PRINT AT A,B+1-(B=7);
 444 GOSUB 9000
 446 IF CH=3 THEN LET C$="DOCKED"
 448 IF V=1 OR C$<>"DOCKED" THEN GOTO 550
 450 LET TE=TE+E-3000
 452 LET E=3000
 453 IF TE>=0 THEN GOTO 458
 454 PRINT "STARFLEET""S ENERGY BANKS       EXHAUSTED."
 456 GOTO 9900
 458 LET O=15
 460 LET V=1
 550 PRINT AT 1,10;"STARDATE   ";T
 560 PRINT AT 2,10;"CONDITION  ";C$;"   "
 570 PRINT AT 3,10;"ENERGY     ";E;"   "
 580 PRINT AT 4,10;"TORPEDOES  ";O;" "
 590 PRINT AT 5,10;"SHIELDS    ";S;"   "
 600 PRINT AT 6,10;"KLINGONS   ";K;"   "
 610 GOSUB 9100
 630 IF L=T OR C$="DOCKED" OR C$="GREEN" THEN GOTO 640
 635 IF RND>.3 THEN GOTO 4152
 640 IF K=0 THEN PRINT "WELL DONE,CAPTAIN-THE FEDERATION HAS BEEN SAVED"
 645 IF K=0 THEN GOTO 9900
 648 LET L=T-1
 650 PRINT "WHAT ARE YOUR ORDERS, CAPTAIN?             (1-7)"
 655 INPUT C
 658 IF C<0 OR C>7 OR C<>INT C THEN GOTO 655
 659 IF RND>.75 THEN PRINT "SPOCK:   ";A$(RND*3+10.5)
 660 GOTO C*1000
 995 REM **HELM CONTROL**
\n1000 GOSUB 8500
\n1010 PRINT "SULU: WARP FACTOR,CAPTAIN?(1-63)"
\n1020 INPUT W
\n1022 IF W>E THEN PRINT "SCOTTIE:YE OVERLOADIN"" THE      ENERGY BANKS,CAP""N."
\n1030 IF W>E OR W<1 OR W>63 OR W<>INT W THEN GOTO 1010
\n1040 PRINT AT A,B;"% "
\n1050 LET E=E-W
\n1060 LET T=T+W
\n1070 FOR I=1 TO W
\n1080 LET U=1
\n1090 LET A=A+M
\n1100 LET B=B+N
\n1110 IF A<0 OR A>7 OR B<0 OR B>7 THEN GOTO 1120
\n1112 LET U=0
\n1113 PRINT AT A,B;
\n1114 GOSUB 9000
\n1115 IF CH=128 THEN GOTO 1120
\n1116 LET A=A-M
\n1117 LET B=B-N
\n1120 NEXT I
\n1130 IF U=0 THEN GOTO 1140
\n1132 LET Q=Q+INT (A/8)
\n1134 LET P=P+INT (B/8)
\n1136 GOTO 230
\n1140 PRINT AT A,B;"%$"
\n1150 GOTO 400
\n1995 REM **LONG RANGE SCAN**
\n2000 PRINT "SHORT RANGE SCAN"
\n2002 PRINT "%K\''%*  %K\''%*  %K\''%*"
\n2005 FOR J=Q-1 TO Q+1
\n2010 FOR I=P-1 TO P+1
\n2012 LET G=I-8*(I>8)+8*(I<1)
\n2014 LET H=J-8*(J>8)+8*(J<1)
\n2020 LET U=A(G,H)
\n2030 IF INT (U/100)=0 THEN PRINT "0";
\n2040 IF INT (U/10)=0 THEN PRINT "0";
\n2050 PRINT U;"  ";
\n2090 NEXT I
\n2100 PRINT 
\n2110 NEXT J
\n2120 FOR D=1 TO 35
\n2130 NEXT D
\n2140 GOTO 610
\n2995 REM **PHASER CONTROL**
\n3000 PRINT "CHEKOV: PHASER ENERGY?"
\n3020 INPUT F
\n3030 IF E<F OR F<>INT F THEN GOTO 3000
\n3032 LET E=E-F
\n3035 IF X=0 THEN GOTO 3150
\n3040 LET F=F/X
\n3050 FOR I=1 TO RA
\n3060 IF K(I)=0 THEN GOTO 3140
\n3070 GOSUB 8000
\n3080 LET G=K(I)
\n3090 LET G=G+2*INT (F/D)
\n3100 IF G>=0 THEN GOSUB 8230
\n3110 IF G>=0 THEN GOTO 3140
\n3120 LET K(I)=G
\n3130 IF C$="DOCKED" THEN GOTO 3140
\n3131 LET G=-INT (G/D)
\n3132 LET S=S-G
\n3133 PRINT G;" HIT ON SHIELDS."
\n3134 IF G<100 THEN GOTO 3140
\n3135 PRINT "SCOTTIE: ";A$(RND*3+3.5);"CAP""N."
\n3136 LET E=E-INT (RND*G)*2
\n3140 NEXT I
\n3145 IF S<0 THEN GOTO 8100
\n3150 LET L=T
\n3160 LET A(P,Q)=A(P,Q)-(INT (A(P,Q)/100)-X)*100
\n3170 GOTO 400
\n3995 REM **TORPEDO CONTROL**
\n4000 IF O<1 THEN PRINT "SULU: NO TORPEDOES LEFT, SIR"
\n4002 IF O<1 THEN GOTO 650
\n4010 GOSUB 8500
\n4020 LET O=O-1
\n4030 LET G=A
\n4040 LET H=B
\n4050 FOR I=1 TO 7
\n4060 LET G=G+M
\n4070 LET H=H+N
\n4082 PRINT AT G,H;
\n4084 GOSUB 9000
\n4090 IF CH<>128 THEN GOTO 4110
\n4100 NEXT I
\n4110 IF CH<>3 THEN GOTO 4116
\n4111 PRINT AT G,H;"% "
\n4112 GOSUB 9100
\n4113 PRINT "SPOCK: WE HAVE DESTROYED A STAR BASE, CAPTAIN"
\n4114 LET PE=-200
\n4115 GOTO 9900
\n4116 IF CH<>151 THEN GOTO 4130
\n4118 PRINT AT G,H;"% "
\n4120 GOSUB 9100
\n4121 LET R=INT (RND*10)
\n4122 PRINT "STAR HAS GONE ";
\n4123 IF R<9 THEN GOTO 4127
\n4124 PRINT "SUPERNOVA"
\n4125 LET PE=-100
\n4126 GOTO 9900
\n4127 PRINT "NOVA"
\n4128 LET S=S-100
\n4129 GOTO 4152
\n4130 IF CH<>176 THEN GOTO 4150
\n4140 GOSUB 8200
\n4142 GOTO 4152
\n4150 GOSUB 9100
\n4152 LET F=0
\n4155 IF RND>.75 THEN PRINT "KLINGON MESSAGE:";A$(RND*4+6.5)
\n4160 GOTO 3032
\n4995 REM **SHIELD CONTROL**
\n5000 LET E=E+S
\n5020 PRINT "CHEKOV: SHIELD ENERGY, SIR?"
\n5030 INPUT S
\n5040 LET E=E-S
\n5050 IF E<1 THEN PRINT "SCOTTIE:THE ENERGY BANKS CANNO"" TAKE IT, CAP""N."
\n5052 IF E<1 THEN GOTO 5000
\n5060 GOTO 400
\n5995 REM **INSTRUCTIONS**
\n6000 CLS 
\n6010 PRINT "   YOU ARE CAPTAIN KIRK OF THE  STARSHIP ENTERPRISE(%$). YOUR    MISSION IS TO DESTROY ALL THE   KLINGON SHIPS(%K)IN THE GALAXY."
\n6012 PRINT 
\n6015 PRINT "   THERE ARE 64 SECTORS OF THE  GALAXY,WHICH ARE EACH 8 PARSECS SQUARE."   
\n6017 PRINT 
\n6020 PRINT "   YOU ARE GIVEN 15 PHOTON      TORPEDOES,AND 3000 ENERGY UNITS."
\n6021 PRINT 
\n6022 PRINT "   YOU MAY DOCK BESIDE A STAR   BASE(\''),WHICH REPLENISHES YOUR  ENERGY AND TORPEDOES AND        PROTECTS YOU FROM ATTACK."
\n6023 PRINT 
\n6024 PRINT "PRESS ANY KEY TO CONTINUE"
\n6025 IF INKEY$="" THEN GOTO 6025
\n6030 CLS 
\n6040 PRINT "   THE COMMANDS ARE:"
\n6050 PRINT "1)HELM-TO MOVE TO ANY POINT IN  THE GALAXY,GIVING THE COURSE ANDWARP(EACH UNIT MOVES 1 PARSEC)."
\n6055 PRINT 
\n6060 PRINT "2)LONG RANGE SCAN-GIVES THE NO. OF %K\''%* IN THE ADJACENT SECTORS."
\n6065 PRINT 
\n6070 PRINT "3)PHASERS-THIS WEAPON ACTS IN   ALL DIRECTIONS BUT ITS EFFECT   DECREASES WITH DISTANCE."
\n6075 PRINT 
\n6080 PRINT "4)PHOTON TORPEDOES-DIRECTIONAL  WEAPON BUT A SINGLE BOLT WILL   DESTROY A KLINGON AT ANY DIST."
\n6085 PRINT 
\n6090 PRINT "5)SHIELDS-INPUT AMOUNT OF       ENERGY DIVERTED TO THE SHIELDS."
\n6095 PRINT 
\n6100 PRINT "6)INSTRUCTIONS"
\n6110 PRINT "7)RESIGNATION"
\n6120 PRINT "PRESS ANY KEY TO CONTINUE"
\n6125 IF INKEY$="" THEN GOTO 6125
\n6130 CLS 
\n6132 IF T=0 THEN RETURN 
\n6134 LET L=T
\n6140 GOTO 230
\n6995 REM **RESIGNATION**
\n7000 PRINT "STARFLEET: RESIGNATION ACCEPTED"
\n7010 GOTO 9900
\n7990 REM **SUBROUTINES**
\n7995 REM **CAL. KLINGON DIST.**
\n8000 LET Z=A-G(I)
\n8010 LET Y=B-H(I)
\n8020 LET D=INT SQR (Z*Z+Y*Y)
\n8030 RETURN 
\n8095 REM ***********************
\n8100 PRINT "THE ENTERPRISE IS DEAD IN SPACE."
\n8110 IF S>-100 THEN GOTO 8120
\n8112 LET PE=-300
\n8114 PRINT " THERE ARE NO SURVIVERS."
\n8116 GOTO 9900
\n8120 IF S>-50 THEN GOTO 8130
\n8122 LET PE=-200
\n8124 PRINT "HALF THE CREW WERE KILLED."
\n8126 GOTO 9900
\n8130 LET PE=S*2
\n8132 PRINT -S;" OF THE CREW WERE KILLED."
\n8134 GOTO 9900
\n8195 REM ***********************
\n8200 FOR I=1 TO RA
\n8210 IF G(I)=G AND H(I)=H THEN GOTO 8230
\n8220 NEXT I
\n8230 LET K(I)=0
\n8235 PRINT AT G(I),H(I);"% "
\n8240 GOSUB 9100
\n8250 PRINT A$(RND*3+.5)
\n8260 LET X=X-1
\n8265 LET K=K-1
\n8270 RETURN 
\n8495 REM **READ COURSE AND CAL**
\n8496 REM **  MOVEMENT VECTOR  **
\n8500 PRINT "CHEKOV:COURSE, CAPTAIN?(O-7)"
\n8510 INPUT C
\n8520 IF C<0 OR C>7 OR C<>INT C THEN GOTO 8500
\n8530 LET M=0
\n8540 LET N=0
\n8550 IF C<2 OR C>6 THEN LET M=-1
\n8560 IF C>2 AND C<6 THEN LET M=1
\n8570 IF C<4 AND C>0 THEN LET N=1
\n8580 IF C>4 THEN LET N=-1
\n8590 RETURN 
\n8595 REM ***********************
\n9000 LET CH=PEEK (PEEK 16398+256*PEEK 16399)
\n9010 RETURN 
\n9100 PRINT AT 8,0;
\n9110 FOR J=1 TO 14
\n9120 PRINT "                                "
\n9130 NEXT J
\n9140 PRINT AT 8,0;
\n9150 RETURN 
\n9200 DIM A$(13,33)
\n9202 LET A$(1)="SULU: BULLS EYE, CAPTAIN"
\n9204 LET A$(2)="SPOCK: KLINGON DESTROYED"
\n9206 LET A$(3)="CHEKOV: WE GOT HIM, SIR"
\n9208 LET A$(11)="HUMAN LOGIC FASCINATES ME"
\n9210 LET A$(12)="I CAN NEVER UNDERSTAND EMOTIONS"
\n9220 LET A$(13)="HUMAN BEHAVIOUR IS VERYIRRATIONAL"
\n9222 LET A$(4)="DILITHIUM CRYSTALS     DAMAGED,"
\n9224 LET A$(5)="ANTIMATTER STABLISER   BROKEN ,"
\n9226 LET A$(6)="WEE DAMAGE TO ENERGY   BANKS ,"
\n9228 LET A$(7)="YOU DON""T STAND A CHANCE, KIRK"
\n9230 LET A$(8)="GIVE YOURSELF UP, KIRK"
\n9232 LET A$(9)="SURRENDER NOW,  KIRK, OR DIE"
\n9234 LET A$(10)="YOUR PUNY RACE  CAN""T KILL A FLY"
\n9250 RETURN 
\n9300 PRINT TAB 9;"************"
\n9310 PRINT TAB 9;"**STARTRIP**"
\n9320 PRINT TAB 9;"************"
\n9330 PRINT 
\n9340 PRINT "DO YOU WANT INSTRUCTIONS?"
\n9350 LET B$=INKEY$
\n9360 IF B$="" THEN GOTO 9350
\n9370 IF B$="Y" THEN GOSUB 6000
\n9372 PRINT 
\n9380 PRINT "WHAT STAR-RATING ARE YOU,       CAPTAIN?   ( 6 IS THE HIGHEST )"
\n9390 INPUT RA
\n9400 IF RA>6 OR RA<1 OR RA<>INT RA THEN GOTO 9380
\n9410 CLS 
\n9420 RETURN 
\n9890 LET E=0
\n9892 PRINT "YOU HAVE NO ENERGY LEFT"
\n9894 LET PE=-100
\n9900 FOR D=1 TO 25
\n9902 NEXT D
\n9903 CLS 
\n9904 PRINT TAB 10;"GAME OVER"
\n9906 LET S=PE+INT (TE/100/RA)+(KL-K)*10
\n9908 PRINT 
\n9910 PRINT "YOUR SCORE IS ";S
\n9920 PRINT 
\n9922 PRINT "YOU HAVE KILLED ";KL-K;" KLINGONS"
\n9924 PRINT 
\n9928 LET RA=(RA+7)/16
\n9930 IF S>RA*200 THEN GOTO 9940
\n9932 PRINT "NOT VERY GOOD-YOU""LL HAVE TO DO BETTER THAN THAT."
\n9934 STOP 
\n9940 IF S>RA*400 THEN GOTO 9950
\n9942 PRINT "NOT BAD, BUT YOU CAN STILL DO   MUCH BETTER."
\n9944 STOP 
\n9950 IF S>RA*600 THEN GOTO 9960
\n9952 PRINT "A WORTHY ATTEMPT, CAPTAIN."
\n9954 STOP 
\n9960 IF S>RA*800 THEN GOTO 9970
\n9962 PRINT "VERY GOOD, YOU DESERVE PROMOTION"
\n9964 STOP 
\n9970 IF S>RA*1000 THEN GOTO 9980
\n9972 PRINT "A CREDITABLE EXAMPLE FOR THE    REST OF THE FLEET, WELL DONE."
\n9974 STOP 
\n9980 PRINT "EXCELLENT, YOU DESERVE TO BE    STARFLEET COMMANDER."
\n9997 FOR A=1 TO 20
\n9998 PRINT A$(A)
\n9999 NEXT A

People

No people associated with this content.

Scroll to Top