ON ERROR GOTO 1 P1$ = CHR$(70) + CHR$(73) + CHR$(71) + CHR$(78) + CHR$(85) + CHR$(84) P2$ = CHR$(81) + CHR$(85) + CHR$(69) + CHR$(69) + CHR$(82) + CHR$(67) P3$ = CHR$(89) + CHR$(79) + CHR$(71) + CHR$(65) + CHR$(82) + CHR$(84) A$ = "NOW YOU CAN GET MORE POINTS." DIM N$(10), S(10), R(10) SCREEN 13 DO SEL: CLS COLOR 15 PRINT "HOW HARD DO YOU WANT IT?" PRINT "(1) EASY" PRINT "(2) MEDIUM" COLOR 8 PRINT "(3) HARD" PRINT "(4) VERY HARD" PRINT "(5) CHAMPION" INPUT "WHICH ONE?"; A$ A = VAL(A$) LOOP UNTIL A > 0 AND A < 6 IF A = 1 THEN BN = 15 IF A = 2 THEN BN = 10 IF A = 3 THEN P$ = P1$ IF A = 4 THEN P$ = P2$ IF A = 5 THEN P$ = P3$ IF A > 2 THEN CLS INPUT "PASSWORD"; CP$ IF CP$ = P$ THEN BN = 5 ELSE GOTO SEL END IF X = 160: EX = 50: C = 10: COLOR 15 CLS DO GOSUB CON IF DIR = 0 THEN X = X - 1 IF DIR = 1 THEN X = X + 1 IF X < -16 THEN DIR = 1 IF X > 316 THEN DIR = 0 IF B = 1 THEN BY = BY - 1: LINE (BX, BY - 15)-(BX, BY), 4: LINE (BX - 1, BY - 16)-(BX + 1, BY + 1), 0, B: IF BY = -5 THEN B = 0 IF B = 1 AND BX > EX - 1 AND BX < EX + 21 AND BY < 9 THEN LEV = LEV + 1: BN = BN + 3: B = 0: CLS IF EDIR = 0 THEN EX = EX + LEV / 10 IF EDIR = 1 THEN EX = EX - LEV / 10 IF EX < 2 THEN EDIR = 0 IF EX > 298 THEN EDIR = 1 GOSUB CON LINE (X, 190)-(X + 15, 199), 2, BF LINE (X + 5, 185)-(X + 10, 190), 2, BF LINE (X - 1, 189)-(X + 16, 200), 0, B LINE (X + 5, 185)-(X + 5, 189), 0 LINE (X + 11, 185)-(X + 11, 189), 0 GOSUB CON LINE (EX, 0)-(EX + 20, 5), 6, BF LINE (EX - 5, 0)-(EX, 5), 0, BF LINE (EX + 20, 0)-(EX + 25, 5), 0, BF LOCATE 5, 5 GOSUB CON PRINT "LEVEL"; LEV; " BULLETS"; BN GOSUB CON IF BN = -1 THEN GOTO SCORE IF BN < 10 THEN S = 1 LOCATE 6, 6 PRINT "LOW ON BULLETS!" PALETTE 15, C IF MO = 0 THEN C = C + 1 IF MO = 1 THEN C = C - 1 IF C = 15 THEN MO = 0 IF C = 60 THEN MO = 1 ELSE PALETTE 15, (65536 * 63) + (256 * 63) + 63: S = 0: LOCATE 6, 6: PRINT " " END IF IF S = 0 THEN FOR K = 1 TO 200: NEXT LOOP UNTIL LEV = 50 SCORE: SCREEN 12 COLOR 4 YS = LEV * 10 + (BN + 1 * 3) + (A * 50) PRINT "YOUR SCORE WAS"; YS; " POINTS OUT OF 1068 POSSIBLE POINTS" SELECT CASE YS CASE IS < 100: S$ = "SPACE SHIP SEWAGE CLEANER": SN = 1 CASE 101 TO 200: S$ = "TOILET CLEANER": SN = 2 CASE 201 TO 300: S$ = "JANITOR": SN = 3 CASE 301 TO 500: S$ = "NORMAL SPACE GUY": SN = 4 CASE 501 TO 600: S$ = "LUTENANT": SN = 5 CASE 601 TO 700: S$ = "LUNAR LANDER!": SN = 6 CASE 701 TO 1000: S$ = "COMMANDER!!": SN = 7 CASE 1001 TO 1050: S$ = "MILLIONAIRE INVESTOR!!!": SN = 8 CASE ELSE: S$ = "BILLIONAIRE INVESTOR!!!! YOU TOTALLY WON MAN!!!!": SN = 9 END SELECT PRINT "THAT GIVES YOU THE RANK OF A "; S$ IF SN > 4 THEN PRINT "OUT OF THIS WORLD!! THE PASSWORD TO THE CHAMPION LEVEL IS "; P3$: PRINT A$ ELSE IF YS > 400 THEN PRINT "EXCELLENT! THE PASSWORD TO THE VERY HARD LEVEL IS "; P2$: PRINT A$ ELSE IF SN > 3 THEN PRINT "GOOD JOB THE PASSWORD TO THE HARD LEVEL IS "; P1$: PRINT A$ SHELL "CD C:\QBASIC" OPEN "SPACHIGH.hsc" FOR INPUT AS #1 PRINT "NO."; " NAME", " RANK", , " SCORE" FOR K = 1 TO 10 INPUT #1, N$(K), R(K), S(K) IF YS > S(K) AND NN = 0 THEN LOCATE 20, 15 INPUT "NAME?"; N$(K) N$(K) = MID$(N$(K), 1, 10) R(K) = SN: S(K) = YS: NN = 1 END IF IF R(K) = 1 THEN R$ = "SPACE SHIP SEWAGE CLEANER" IF R(K) = 2 THEN R$ = "TOILET CLEANER" IF R(K) = 3 THEN R$ = "JANITOR" IF R(K) = 4 THEN R$ = "NORMAL SPACE GUY" IF R(K) = 5 THEN R$ = "LUTENANT" IF R(K) = 6 THEN R$ = "LUNAR LANDER" IF R(K) = 7 THEN R$ = "COMMANDER" IF R(K) = 8 THEN R$ = "MILLIONAIRE INVESTOR" IF R(K) = 9 THEN R$ = "BILLIONAIRE INVESTOR" LOCATE 5 + K, 1 F$ = "##& &" PRINT USING F$; K; "#"; LOCATE 5 + K, 8 PRINT N$(K); LOCATE 5 + K, 20 PRINT R$; LOCATE 5 + K, 52 PRINT S(K) NEXT K CLOSE OPEN "SPACHIGH.hsc" FOR OUTPUT AS #1 FOR K = 1 TO 10 WRITE #1, N$(K) PRINT #1, R(K); S(K) NEXT CLOSE FOR K = 1 TO 200000: NEXT END CON: K$ = INKEY$: K$ = RIGHT$(K$, 1) IF K$ = "K" THEN DIR = 0 IF K$ = "M" THEN DIR = 1 IF K$ = " " AND B = 0 THEN B = 1: BY = 184: BX = X + 7: BN = BN - 1 IF K$ = CHR$(27) THEN GOTO SCORE RETURN 1 PRINT "UNEXPECTED ERROR PLEASE TELL ZACH THAT ERROR NUMBER"; ERR; "OCCURED." END