Listing of file='ROCKET' on disk='vmedia/games-droz00.wvd.zip'
# Sector 672, 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