Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 10 TEXT : HOME : POKE - 16298,0: NORMAL : POKE 216,0:ZM = 20: PRINT :R = 768:Y7 = 600
- 15 POKE 232,0: POKE 233,64
- 20 A7$ = " "
- 230 PRINT : HTAB (14): PRINT "O R E G O N": GOSUB 31800: PRINT : PRINT
- 240 PRINT " THIS PROGRAM SIMULATES A TRIP OVER": PRINT "THE OREGON TRAIL FROM INDEPENDENCE,"
- 245 PRINT "MISSOURI TO OREGON CITY,OREGON IN 1847.": PRINT : PRINT " YOUR FAMILY OF FIVE WILL COVER THE"
- 250 PRINT "2040 MILE TRAIL IN 5 OR 6 MONTHS --": PRINT : PRINT : SPEED= 10: HTAB 8: PRINT "IF YOU MAKE IT ALIVE!": SPEED= 255
- 251 NORMAL : PRINT : PRINT
- 255 PRINT " YOU HAD SAVED $900 TO SPEND FOR THE": PRINT "TRIP, AND YOU'VE JUST PAID $200 FOR A ": PRINT "WAGON."
- 265 GOSUB 9000: HOME : NORMAL
- 270 PRINT : PRINT " OXEN - YOU CAN SPEND $200-$300 ON": PRINT " YOUR TEAM. THE MORE YOU "
- 275 PRINT " SPEND, THE FASTER YOU WILL": PRINT " GO, BECAUSE YOU WILL HAVE"
- 277 PRINT " BETTER ANIMALS."
- 280 PRINT : PRINT " FOOD - THE MORE YOU HAVE, THE LESS": PRINT " CHANCE THERE IS OF SICKNESS."
- 285 PRINT : PRINT " AMMUNITION - $1 BUYS A BELT OF 50": PRINT " BULLETS. (YOU'LL BE SHOOTING"
- 290 PRINT " AT ANIMALS AND BANDITS.)"
- 300 PRINT : PRINT " CLOTHING - THIS IS VERY IMPORTANT": PRINT " FOR THE COLD WEATHER YOU WILL"
- 305 PRINT " ENCOUNTER CROSSING THE": PRINT " MOUNTAINS."
- 310 PRINT : PRINT " MISCELLANEOUS SUPPLIES - THIS ": PRINT " INCLUDES MEDICINE AND OTHER"
- 315 PRINT " THINGS YOU WILL NEED."
- 320 GOSUB 9000: HOME : PRINT : PRINT
- 325 PRINT : PRINT " YOU CAN SPEND ALL OF YOUR MONEY": PRINT "BEFORE YOU START YOUR TRIP, OR AT FORTS"
- 330 PRINT "ALONG THE WAY. (ITEMS COST MORE AT": PRINT "THE FORTS.)": PRINT
- 335 PRINT " YOU CAN HUNT ON YOUR WAY TO OREGON.": PRINT "WHEN YOU DO HUNT, YOU WILL BE SHOOTING"
- 340 PRINT "AT ANIMALS AS THEY MOVE ACROSS THE": PRINT "SCREEN BY PRESSING A KEY."
- 350 PRINT : PRINT : HTAB (15): PRINT "GOOD LUCK!": GOSUB 9000
- 370 HOME : VTAB (4): PRINT "HOW GOOD A SHOT ARE YOU?": PRINT : PRINT " (1) ACE MARKSMAN (2) GOOD SHOT": PRINT
- 380 PRINT " (3) FAIR TO MIDDLIN' (4) NEED PRACTICE"
- 385 PRINT " (5) SHAKY KNEES": PRINT : PRINT "ENTER ONE OF THE ABOVE -- THE BETTER"
- 390 PRINT "YOU CLAIM YOU ARE, THE LESS TIMES YOU": PRINT "WILL HAVE TO SHOOT AT THE ANIMAL."
- 395 VTAB 17: PRINT "WHICH NUMBER? ";: CALL - 868: GOSUB 40000
- 400 D9 = VAL (ZN$)
- 770 IF D9 > 5 OR D9 < 1 OR INT (D9) < D9 THEN 395
- 800 X1 = - 1: HOME : PRINT " HOW MUCH DO YOU WANT TO SPEND ON-"
- 810 PRINT : PRINT : PRINT "OXEN": PRINT : PRINT "FOOD": PRINT : PRINT "AMMUNITION": PRINT : PRINT "CLOTHING"
- 820 PRINT : PRINT "MISC. SUPPLIES"
- 828 VTAB (4): HTAB (5): PRINT A7$
- 830 VTAB (4): HTAB (5): PRINT "? ";: GOSUB 40000
- 832 A = VAL (ZN$): IF A > = 200 AND A < = 300 THEN 836
- 834 VTAB (17): PRINT "SPEND FROM 200 TO 300 DOLLARS...": VTAB (4): HTAB (5): PRINT A7$: GOTO 830
- 836 GOSUB 1000: VTAB (4): HTAB (38 - LEN ( STR$ (A))): PRINT A
- 838 VTAB (6): HTAB (5): PRINT A7$
- 840 VTAB (6): HTAB (5): PRINT "? ";: GOSUB 40000
- 842 F = VAL (ZN$): IF F > = 0 THEN 846
- 844 VTAB (17): PRINT "YOU'LL WANT MORE FOOD THAN THAT!": VTAB (6): HTAB (5): PRINT A7$: GOTO 840
- 846 GOSUB 1000: VTAB (6): HTAB (38 - LEN ( STR$ (F))): PRINT F
- 848 VTAB (8): HTAB (11): PRINT A7$
- 850 VTAB (8): HTAB (11): PRINT "? ";: GOSUB 40000
- 852 B = VAL (ZN$): IF B > = 0 THEN 856
- 854 VTAB (17): PRINT "YOU'LL NEED MORE THAN THAT!": VTAB (8): HTAB (11): PRINT A7$: GOTO 850
- 856 GOSUB 1000: VTAB (8): HTAB (38 - LEN ( STR$ (B))): PRINT B
- 858 VTAB (10): HTAB (9): PRINT A7$
- 860 VTAB (10): HTAB (9): PRINT "? ";: GOSUB 40000
- 862 C = VAL (ZN$): IF C > = 0 THEN 866
- 864 VTAB (17): PRINT "BRRR...BUY MORE THAN THAT!": VTAB (10): HTAB (9): PRINT A7$: GOTO 860
- 866 GOSUB 1000: VTAB (10): HTAB (38 - LEN ( STR$ (C))): PRINT C
- 868 VTAB (12): HTAB (15): PRINT A7$
- 870 VTAB (12): HTAB (15): PRINT "? ";: GOSUB 40000
- 872 M1 = VAL (ZN$): IF M1 > = 0 THEN 876
- 874 VTAB (17): PRINT "YOU SHOULD GET MORE THAN THAT!": VTAB (12): HTAB (15): PRINT A7$: GOTO 870
- 876 GOSUB 1000: VTAB (12): HTAB (36 - LEN ( STR$ (M1))): PRINT "+ "M1
- 880 PRINT "------------------" SPC( 15)"-----"
- 884 T = A + F + B + C + M1: HTAB (29 - LEN ( STR$ (T))): PRINT "TOTAL= $"T
- 886 PRINT : PRINT SPC( 15)"$700 SAVED": PRINT SPC( 16 - LEN ( STR$ (T)))"- $"T" SPENT"
- 888 PRINT SPC( 14)"-----":T = 700 - T: PRINT SPC( 18 - LEN ( STR$ (T)))"$"T" BALANCE"
- 890 PRINT : IF T > = 0 THEN 900
- 894 PRINT "YOU'VE SPENT TOO MUCH MONEY!": PRINT "YOU ONLY HAVE $700 TO SPEND.": PRINT "TRY AGAIN..."
- 896 GOSUB 2000: GOTO 800
- 900 PRINT "YOU HAVE $"T" DOLLARS LEFT TO": PRINT "SPEND ALONG THE WAY..."
- 910 GOSUB 2000: HOME : VTAB 12: PRINT "PREPARING FOR THE JOURNEY..."
- 915 Y = A: GOSUB 920:Y = F: GOSUB 920:Y = B: GOSUB 920:Y = C: GOSUB 920:Y = M1: GOSUB 920:Y = D9: GOSUB 920: GOTO 940
- 920 P1 = 0:P2 = 0:P3 = 0: IF LEN ( STR$ (Y)) = 1 THEN P3 = Y
- 922 IF LEN ( STR$ (Y)) = 2 THEN P2 = VAL ( LEFT$ ( STR$ (Y),1)):P3 = VAL ( RIGHT$ ( STR$ (Y),1))
- 924 IF LEN ( STR$ (Y)) = 3 THEN P1 = VAL ( LEFT$ ( STR$ (Y),1)):P2 = VAL ( MID$ ( STR$ (Y),2,1)):P3 = VAL ( RIGHT$ ( STR$ (Y),1))
- 930 POKE Y7,P1: POKE Y7 + 1,P2: POKE Y7 + 2,P3:Y7 = Y7 + 3: RETURN
- 931 CLEAR
- 940 PRINT CHR$ (4)"NOMON C,I,O": PRINT CHR$ (4)"BLOAD OREGONMAP": PRINT CHR$ (4)"RUN OREGONA"
- 1000 VTAB (17): FOR G = 1 TO 5: PRINT A7$: NEXT G
- 1010 RETURN
- 2000 VTAB 24: CALL - 868: HTAB 7: POKE - 16368,0: PRINT "PRESS ";: INVERSE : PRINT "SPACE BAR";: NORMAL : PRINT " TO CONTINUE";: WAIT - 16384,128: POKE - 16368,0: HTAB 1: CALL - 868: RETURN
- 2005 VTAB 24: HTAB 11: PRINT "PRESS '";: INVERSE : PRINT "SPACE BAR";: NORMAL : PRINT "'";: VTAB 1
- 2010 X7 = PEEK ( - 16384): IF X7 < 128 THEN 2010
- 2015 VTAB (24): HTAB (13): PRINT " ";: VTAB (1):
- 2020 POKE - 16368,0: RETURN
- 8846 GOSUB 1000: VTAB (4): HTAB (38 - LEN ( STR$ (F))): PRINT F
- 9000 POKE - 16368,0
- 9005 VTAB 24: HTAB 7: PRINT "PRESS ";: INVERSE : PRINT "SPACE BAR";: NORMAL : PRINT " TO CONTINUE";: HTAB 1
- 9010 T1 = 35
- 9020 X7 = PEEK ( - 16384): IF X7 > 127 THEN POKE - 16368,0: RETURN
- 9030 READ N,D1
- 9031 IF N = 99 THEN FOR G = 1 TO 500: NEXT G: GOTO 9020
- 9033 IF N = 0 THEN RESTORE : GOTO 9020
- 9035 D = D1 * T1:N = N(N): GOSUB 31000: GOTO 9020
- 30000 DATA 13,4,13,4,18,4,20,4,22,8,18,2,17,2,15,6,23,2,23,4,23,8,22,2,23,2,25,6,18,2,18,4,18,4,17,4
- 30010 DATA 18,4,20,20,13,4,13,4,18,4,20,4,22,8,18,2,17,2,15,6,23,2,23,4,23,8,23,2,23,2,22,6,20,2,18,4
- 30020 DATA 17,4,18,4,20,4,18,20,99,4,25,12,23,4,22,6,20,2,22,20,13,2,13,2,18,6,18,2,18,4,18,6,17,2,18,4
- 30030 DATA 20,20,13,4,13,4,18,4,20,4,22,8,18,2,17,2,15,6,23,2,23,4,23,8,23,2,23,2,22,6,20,2,18,4,17,4
- 30040 DATA 18,4,20,4,18,16,99,4,0,0
- 31000 POKE 0, INT (N / 256): POKE 1, INT (N - INT (N / 256) * 256)
- 31010 POKE 2, INT (D / 256): POKE 3, INT (D - INT (D / 256) * 256)
- 31020 CALL R
- 31030 RETURN
- 31800 FOR G = 1 TO 75: READ B,B: NEXT G
- 32000 A = 10:B = 11:C = 12:D = 13:E = 14:F = 15:S = 16
- 32010 POKE R,E * S + 6: POKE R + 1,0
- 32020 POKE R + 2,E * S + 6: POKE R + 3,1
- 32030 POKE R + 4,E * S + 6: POKE R + 5,2
- 32040 POKE R + 6,E * S + 6: POKE R + 7,3
- 32050 POKE R + 8,A * S + E: POKE R + 9,3 * S: POKE R + 10,C * S
- 32060 POKE R + 11,A * S + 6: POKE R + 12,0
- 32070 POKE R + 13,A * S + 4: POKE R + 14,1
- 32080 POKE R + 15,8 * S + 8
- 32090 POKE R + 16,D * S: POKE R + 17,3
- 32100 POKE R + 18,C * S + A
- 32110 POKE R + 19,F * S: POKE R + 20,F * S + 3
- 32120 POKE R + 21,E * S + 9: POKE R + 22,1
- 32130 POKE R + 23,D * S: POKE R + 24,F * S + 6
- 32140 POKE R + 25,C * S + 6: POKE R + 26,3
- 32150 POKE R + 27,D * S: POKE R + 28,F * S + 2
- 32160 POKE R + 29,C * S + 6: POKE R + 30,2
- 32170 POKE R + 31,D * S: POKE R + 32,E * S + E
- 32180 POKE R + 33,6 * S
- 32181 DIM N(37)
- 32182 FOR Z = 1 TO 37: READ N(Z): NEXT Z
- 32183 DATA 378,358,340,318,302,284,268,255,239,227,212,201,189,179,170,159,151
- 32184 DATA 142,134,127,119,113,106,101,94,89,85,80,75,71,67,64,60,56,53,50,47
- 32190 RESTORE : RETURN
- 40000 POKE - 16368,0:CH = PEEK (36):CV = PEEK (37)
- 40001 INPUT "";ZN$: IF LEN (ZN$) < > LEN ( STR$ ( VAL (ZN$))) THEN 40003
- 40002 IF VAL (ZN$) < > 0 OR ZN$ = "0" THEN 40006
- 40003 VTAB ZM: PRINT "I CAN'T UNDERSTAND YOUR ANSWER."
- 40004 PRINT "PLEASE TYPE A NUMBER.": GOSUB 40010: GOTO 40001
- 40006 VTAB ZM: CALL - 868: VTAB ZM + 1: CALL - 868: VTAB CV + 1 + (CV < 23):ZN = VAL (ZN$): RETURN
- 40010 VTAB CV + 1: POKE 36,CH: CALL - 868: RETURN
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement