Listing of file='ROCKET' on disk='vmedia/gamesall.wvd.zip'
# Sector 459, program filename = 'ROCKET'
0010 REM ***** SPACESHP - REVISED 0925 06/01/76 *****
0020 DIM X(4), Y(4), Z(4)
0030 GOTO 340
0040 REM --------------------------------------------------
0050 REM - DISPLAY CONTROL PANEL
0060 %############ -###.## -###.## -###.## ############ -###.#
0070 PRINT HEX(01);
0080 PRINTUSING 60, "LOCATION", X, Y, Z, "AIR SUPPLY", P1
0090 PRINTUSING 60, "VELOCITY", V1, V2, V3, "FUEL SUPPLY", P2
0100 PRINTUSING 60, "ACCELERATION", A1, A2, A3, "ELAPSED TIME", P3
0110 PRINTUSING 60, "DESTINATION", X(K), Y(K), Z(K)
0120 PRINTUSING 60, "DISTANCE", X(K) - X , Y(K) - Y , Z(K) - Z
0130 PRINTUSING 60, "E. T. A.", (X(K)-X)/(V1+1E-10), (Y(K)-Y)/(V2+1E-10), (Z(K
)-Z)/(V3+1E-10)
0140 RETURN
0150 REM --------------------------------------------------
0160 REM - CALCULATIONS
0170 X = X + .1*V1 + .005*A1
0180 Y = Y + .1*V2 + .005*A2
0190 Z = Z + .1*V3 + .005*A3
0200 V1 = V1 + .1*A1
0210 V2 = V2 + .1*A2
0220 V3 = V3 + .1*A3
0230 P1 = P1 - A
0240 IF P1 <= 0 THEN 520
0250 P2 = P2 - .1*(ABS(A1) + ABS(A2) + ABS(A3))
0260 IF P2 > 0 THEN 280
0270 A1, A2, A3, P2 = 0
0280 P3 = P3 + .1
0290 D = SQR((X(K)-X)^2 + (Y(K)-Y)^2 + (Z(K)-Z)^2)
0300 V = SQR(V1*V1 + V2*V2 + V3*V3)
0310 RETURN
0320 REM --------------------------------------------------
0330 REM - MAIN LINE
0340 PRINT HEX(0306);
0360 FOR I = 1 TO 4
0370 READ X(I), Y(I), Z(I)
0380 NEXT I
0390 K = 1
0391 GOSUB 800
0392 PRINT "ENTER THE NUMBER OF SPACE STATIONS TO DOCK WITH."
0393 PRINT "NUMBER = 1 - 4."
0395 INPUT "N = ", N
0396 P1 = 50*N
0397 P2 = 70*N
0398 PRINT HEX(030A0A0A0A0A0A0A);
: GOSUB 870
0400 GOSUB 70
0405 KEYIN A$, 630, 420
0410 GOSUB 170
0420 IF D > 5 THEN 400
0430 IF V > 2 THEN 560
0440 A, A1, A2, A3, V1, V2, V3 = 0
0450 X = X(K)
: Y = Y(K)
: Z = Z(K)
0460 K = K + 1
0470 GOSUB 70
0480 IF K <= N THEN 400
0490 PRINT "YOU MADE IT! END OF CONTEST."; HEX(05)
0495 PRINT "YOU RALLY SCORE IS";3*P1+2*P2-P3
0500 STOP
0510 REM - YOU ARE OUT OF AIR
0520 GOSUB 70
0530 PRINT "CAPTAIN'S LOG - FINAL ENTRY: JUST RAN OUT OF AIR!"
0540 STOP
0550 REM - YOU HAVE JUST CRASHED
0560 GOSUB 70
0570 PRINT "YOU JUST CRASHED INTO THE DOCKING STATION AT A"
0580 PRINT "SPEED OF"; V; "KILLING YOURSELF AND EVERYONE"
0590 PRINT "ABOARD THE DOCKING STATION."; HEX(05)
0600 STOP
0610 REM --------------------------------------------------
0620 REM - KEYBOARD COMMAND GIVEN
0630 ON VAL(A$)-48 GOTO 650,660,670,680,690,700,710,720,730
0640 GOTO 420
0650 A = .1
: A1 = -1
: GOTO 420
0660 A = .1
: A2 = -1
: GOTO 420
0670 A = .1
: A3 = -1
: GOTO 420
0680 A1 = 0
: GOTO 420
0690 A2 = 0
: GOTO 420
0700 A3 = 0
: GOTO 420
0710 A = .1
: A1 = 1
: GOTO 420
0720 A = .1
: A2 = 1
: GOTO 420
0730 A = .1
: A3 = 1
: GOTO 420
0740 REM --------------------------------------------------
0760 DATA 150, 325, 200
0770 DATA 50, 400, 30
0780 DATA 200, 200, -100
0790 DATA 0, 0, 0
0800 PRINT HEX(03),,"SPACE SHIP GAME"
0810 PRINT "OJBECT: DOCK YOUR SPACE SHIP UP WITH 1 - 4 DOCKING"
0820 PRINT " STATIONS IN THE BEST TIME POSSIBLE."
0830 PRINT "WHEN YOU REACH A RADIUS OF 5 UNITS FROM TARGET YOU WILL"
0840 PRINT "AUTOMATICALLY DOCK IF YOUR SPEED IS <= 2."
0850 PRINT "OTHERWISE YOU WILL CRASH."
0860 PRINT "METHOD: ACCELERATE - COAST - DECELERATE"
0870 PRINT "CONTROLS: X Y Z"
0880 PRINT "-------- --- --- ---"
0890 PRINT "FORWARD 7 8 9"
0900 PRINT "ENGINE OFF 4 5 6"
0910 PRINT "REVERSE 1 2 3"
0920 RETURN