1
0
mirror of https://github.com/rfivet/BCG101.git synced 2024-06-26 10:15:24 +00:00

Add BASKET, BUG, FURS and ROCKT2.

This commit is contained in:
Renaud 2024-05-28 10:30:30 +08:00
parent c6835e5064
commit 8168f5a31a
7 changed files with 1541 additions and 0 deletions

204
dec/BASKET.BAS Normal file
View File

@ -0,0 +1,204 @@
5 RANDOMIZE
10 PRINT "THIS IS DARTMOUTH COLLEGE BASKETBALL. YOU WILL BE DARTMOUTH"
20 PRINT " CAPTAIN AND PLAYMAKER. CALL SHOTS AS FOLLOWS: 1. LONG"
30 PRINT " (30 FT.) JUMP SHOT; 2 SHORT (15 FT.) JUMP SHOT; 3. LAY"
40 PRINT " UP; 4. SET SHOT."
60 PRINT "BOTH TEAMS WILL USE THE SAME DEFENSE. CALL DEFENSE AS"
70PRINT" FOLLOWS: 6 PRESS; 6.5 MAN-TO MAN; 7 ZONE; 7.5 NONE."
72 PRINT " TO CHANGE DEFENSE, JUST TYPE 0 AS YOUR NEXT SHOT."
74 PRINT "YOUR STARTING DEFENSE WILL BE";
76 INPUT D
77 IF D<6 THEN 2010
79 PRINT
80 PRINT "CHOOSE YOUR OPPONENT";
82 INPUT O$
370 PRINT "CENTER JUMP"
390 IF RND > 3/5 THEN 420
400 PRINT O$;" CONTROLS THE TAP."
410 GO TO 3000
420 PRINT "DARTMOUTH CONTROLS THE TAP."
425 PRINT
430 PRINT "YOUR SHOT";
435 LET P=0
440 INPUT Z
445 IF Z<>INT(Z) THEN 455
446IF ABS(Z-2)>2 THEN 455
447 GOTO 460
455 PRINT "INCORRECT ANSWER. RETYPE IT";
456 GOTO 440
460 GO TO 470
470 IF RND <.5 THEN 1000
480 IF T<100 THEN 1000
490 PRINT
491 IF S(1)<>S(0) THEN 510
493 PRINT " ***** END OF SECOND HALF *****"
495 PRINT "SCORE AT END OF REGULATION TIME:"
496 PRINT " DARTMOUTH" S(1); O$" "S(0)
497 PRINT
499 PRINT "BEGIN TWO MINUTE OVERTIME PERIOD"
499 LET T=93
500 GO TO 370
510 PRINT " ***** END OF GAME *****"
515 PRINT "FINAL SCORE: DARTMOUTH" S(1); O$" "S(0)
520 STOP
600 PRINT
610 PRINT " *** TWO MINUTES LEFT IN THE GAME ***"
620 PRINT
630 RETURN
1000 IF Z=1 THEN 1040
1020 IF Z=2 THEN 1040
1036 GO TO 1300
1040 LET T=T+1
1041 IF T=50 THEN 8000
1042 IF T=92 THEN 1046
1043 GO TO 1050
1046 GOSUB 600
1050 PRINT "JUMP SHOT"
1060 IF RND >.341*D/8 THEN 1090
1070 PRINT "SHOT IS GOOD."
1075 GOSUB 7000
1085 GO TO 3000
1090 IF RND >.682*D/8 THEN 1200
1100 PRINT "SHOT IS OFF TARGET."
1105 IF D/6*RND>.45 THEN 1130
1110 PRINT "DARTMOUTH CONTROLS THE REBOUND."
1120 GO TO 1145
1130 PRINT "REBOUND TO ";O$;"."
1140 GO TO 3000
1145 IF RND>.40 THEN 1158
1150 GO TO 1300
1158 IF D=6 THEN 5100
1160 PRINT "BALL PASSED BACK TO YOU. ";
1170 GO TO 430
1180 IF RND>.9THEN1190
1185 PRINT "PLAYER FOULED. TWO SHOTS."
1187 GOSUB 4000
1188 GO TO 3000
1190 PRINT "BALL STOLEN. ";O$;"'S BALL."
1195 GO TO 3000
1200 IF RND>.782*D/8 THEN 1250
1210 PRINT "SHOT IS BLOCKED. BALL CONTROLLED BY";
1230 IF RND>.5 THEN 1242
1235 PRINT " DARTMOUTH."
1240 GO TO 430
1242 PRINT " ";O$;"."
1245 GO TO 3000
1250 IF RND>.843*D/8 THEN 1270
1255 PRINT "SHOOTER IS FOULED. TWO SHOTS."
1260 GOSUB 4000
1265 GO TO 3000
1270 PRINT "CHARGING FOUL. DARTMOUTH LOSES THE BALL."
1280 GO TO 3000
1300 LET T=T+1
1301 IF T=50 THEN 8000
1302 IF T=92 THEN 1304
1303 GO TO 1305
1304 GOSUB 600
1305 IF Z=0 THEN 2010
1310 IF Z>3 THEN 1700
1320 PRINT "LAY UP."
1330 IF 7/D*RND>.4 THEN 1360
1340 PRINT "SHOT IS GOOD. TWO POINTS."
1345 GOSUB 7000
1355GO TO 3000
1360 IF 7/D*RND>.7 THEN 1500
1370 PRINT "SHOT IS OFF THE RIM."
1380 IF RND>2/3 THEN 1415
1390 PRINT O$;" CONTROLS THE REBOUND."
1400 GO TO 3000
1410
1415 PRINT "DARTMOUTH CONTROLS THE REBOUND."
1420 IF RND>.4 THEN 1440
1430 GO TO 1300
1440 PRINT "BALL PASSED BACK TO YOU.";
1450 GO TO 430
1500 IF 7/D*RND>.875 THEN 1600
1510 PRINT "SHOOTER FOULED. TWO SHOTS."
1520 GOSUB 4000
1530 GO TO 3000
1600 IF 7/D*RND>.925 THEN 1630
1610 PRINT "SHOT BLOCKED. "O$;"'S BALL."
1620 GO TO 3000
1630 PRINT "CHARGING FOUL. DARTMOUTH LOSES THE BALL."
1640 GO TO 3000
1700 PRINT "SET SHOT"
1710 GO TO 1330
2010 PRINT "YOUR NEW DEFENSIVE ALLIGNMENT IS";
2020 INPUT D
2030 IF D<6 THEN 2010
2040 GO TO 425
3000 LET P=1
3005 LET T=T+1
3008 IF T=54 THEN 8000
3010 IF T=92 THEN 3015
3012 GO TO 3018
3015 GOSUB 600
3018 PRINT
3020 LET Z1=10/4*RND+1
3030 IF Z1>2 THEN 3500
3040PRINT "JUMP SHOT"
3050 IF 8/D*RND>.35 THEN 3100
3060 PRINT "SHOT IS GOOD."
3080 GOSUB 6000
3090 GO TO 425
3100 IF 8/D*RND>.75 THEN 3200
3105 PRINT "SHOT IS OFF THE RIM."
3110 IF D/6*RND>.5 THEN 3150
3120 PRINT "DARTMOUTH CONTROLS THE REBOUND."
3130 GO TO 425
3150 PRINT O$;" CONTROLS THE REBOUND."
3160 IF D=6 THEN 5000
3165 IF RND>.5 THEN 3175
3168 PRINT "PASS BACK TO " O$;" GUARD."
3170 GO TO 3000
3175 GO TO 3500
3200 IF 8/D*RND>.9 THEN 3310
3210 PRINT "PLAYER FOULED. TWO SHOTS."
3220 GOSUB 4000
3230 GO TO 425
3310 PRINT "OFFENSIVE FOUL. DARTMOUTH'S BALL"
3320 GO TO 425
3500 IF Z1>3 THEN 3800
3510 PRINT "LAY UP"
3520 IF 7/D*RND>.413 THEN 3600
3530 PRINT "SHOT IS GOOD."
3540 GOSUB 6000
3550 GO TO 425
3600 PRINT "SHOT IS MISSED."
3610 GO TO 3110
3800 PRINT "SET SHOT"
3810 GO TO 3520
4000 REM *FOUL SHOOTING*
4010 IF RND>.49 THEN 4050
4020 PRINT "SHOOTER MAKES BOTH SHOTS."
4030 LET S(1-P)=S(1-P)+2
4040 GOSUB 6010
4041 RETURN
4050 IF RND>.75 THEN 4100
4060 PRINT "SHOOTER MAKES ONE SHOT AND MISSES ONE."
4070 LET S(1-P)=S(1-P)+1
4080 GO TO 4040
4100 PRINT "BOTH SHOTS MISSED."
4110 GO TO 4040
5000 IF RND>.75 THEN 5010
5005 GO TO 3165
5010 PRINT "BALL STOLEN. EASY LAY-UP FOR DARTMOUTH."
5015 GOSUB 7000
5030 GO TO 3000
5100 IF RND>.6 THEN 5120
5110 GO TO 1160
5120 PRINT "PASS STOLEN BY ";O$;" EASY LAY-UP."
5130 GOSUB 6000
5140 GO TO 425
6000 LET S(0)=S(0)+2
6010 PRINT "SCORE: " S(1); "TO " S(0)
6020 RETURN
7000 LET S(1)=S(1)+2
7010 GOSUB 6010
7020 RETURN
8000 PRINT " ***** END OF FIRST HALF *****"
8010 PRINT"SCORE: DARTMOUTH" S(1); O$" "S(0)
8015 PRINT
8016 PRINT
8020 GO TO 370
9999 END

254
dec/BUG.BAS Normal file
View File

@ -0,0 +1,254 @@
10 REM BRIAN MONTE LEIBOWITZ GRADE 7
20 REM HARRISON JR. HIGH SCHOOL
30 REM HARRISON N.Y.
40 DIM Z$[3]
50 A=B=H=L=N=P=Q=R=S=T=U=V=Y=0
60 PRINT "THE GAME BUG IS LIKE THE GAME COOTI,"
70 PRINT "I HOPE YOU ENJOY THIS GAME"
80 PRINT
90 PRINT "DO YOU WANT INSTRUCTIONS";
100 INPUT Z$
110 IF Z$="NO" THEN 300
120 PRINT "THE OBJECT OF BUG IS TO FINISH YOUR BUG BEFORE I FINISH MINE"
130 PRINT "EACH NUMBER STANDS FOR A PART OF THE BUGS BODY"
140 PRINT "I WILL ROLL THE DIE FOR YOU, TELL YOU WHAT I ROLLED FOR YOU"
150 PRINT "WHAT THE NUMBER STANDS FOR, AND IF YOU CAN GET THE PART."
160 PRINT "IF YOU CAN GET THE PART I WILL GIVE IT TO YOU."
170 PRINT "THE SAME WILL HAPPEN ON MY TURN"
180 PRINT "IF THERE IS A CHANGE IN EITHER BUG I WILL GIVE YOU THE "
190 PRINT "OPTION OF SEEING THE PICTURES OF THE BUGS."
200 PRINT "THE NUMBERS STAND FOR PARTS AS FOLLOWS:"
210 PRINT "NUMBER","PART","NUMBER OF PART NEEDED"
220 PRINT "1","BODY","1"
230 PRINT "2","NECK","1"
240 PRINT "3","HEAD","1"
250 PRINT "4","FEELERS","2"
260 PRINT "5","TAIL","1"
270 PRINT "6","LEGS","6"
280 PRINT
290 PRINT
300 IF Y>0 THEN 2480
310 Z=INT(6*RND(0)+1)
320 C=1
330 PRINT "YOU ROLLED A "Z
340 GOTO Z OF 350,430,540,650,760,870
350 PRINT "1=BODY"
360 IF B=1 THEN 410
370 PRINT "YOU NOW HAVE A BODY"
380 B=1
390 C=0
400 GOTO 970
410 PRINT "YOU DO NOT NEED A BODY"
420 GOTO 970
430 PRINT "2=NECK"
440 IF N=1 THEN 500
450 IF B=0 THEN 520
460 PRINT "YOU NOW HAVE A NECK"
470 N=1
480 C=0
490 GOTO 970
500 PRINT "YOU DO NOT NEED A NECK"
510 GOTO 970
520 PRINT "YOU DO NOT HAVE A BODY"
530 GOTO 970
540 PRINT "3=HEAD"
550 IF N=0 THEN 610
560 IF H=1 THEN 630
570 PRINT "YOU NEEDED A HEAD"
580 H=1
590 C=0
600 GOTO 970
610 PRINT "YOU DO NOT HAVE A NECK"
620 GOTO 970
630 PRINT "YOU HAVE A HEAD"
640 GOTO 970
650 PRINT "4=FEELERS"
660 IF H=0 THEN 740
670 IF A=2 THEN 720
680 PRINT "I NOW GIVE YOU A FEELER"
690 LET A=A+1
700 C=0
710 GOTO 970
720 PRINT "YOU HAVE TWO FEELERS ALREADY"
730 GOTO 970
740 PRINT "YOU DO NOT HAVE A HEAD"
750 GOTO 970
760 PRINT "5=TAIL"
770 IF B=0 THEN 830
780 IF T=1 THEN 850
790 PRINT "I NOW GIVE YOU A TAIL"
800 LET T=T+1
810 C=0
820 GOTO 970
830 PRINT "YOU DO NOT HAVE A BODY"
840 GOTO 970
850 PRINT "YOU ALREADY HAVE A TAIL"
860 GOTO 970
870 PRINT "6=LEG"
880 IF L=6 THEN 940
890 IF B=0 THEN 960
900 LET L=L+1
910 C=0
920 PRINT "YOU NOW HAVE "L" LEG(S)"
930 GOTO 970
940 PRINT "YOU HAVE 6 FEET ALREADY"
950 GOTO 970
960 PRINT "YOU DO NOT HAVE A BODY"
970 LET X=INT(6*RND(0)+1)
980 PRINT "I ROLLED A "X
990 GOTO X OF 1000,1080,1190,1300,1410,1520
1000 PRINT "1=BODY"
1010 IF P=1 THEN 1060
1020 PRINT "I NOW HAVE A BODY"
1030 C=0
1040 P=1
1050 GOTO 1630
1060 PRINT "I DO NOT NEED A BODY"
1070 GOTO 1630
1080 PRINT "2=NECK"
1090 IF Q=1 THEN 1150
1100 IF P=0 THEN 1170
1110 PRINT "I NOW HAVE A NECK"
1120 Q=1
1130 C=0
1140 GOTO 1630
1150 PRINT "I DO NOT NEED A NECK"
1160 GOTO 1630
1170 PRINT "I DO NOT HAVE A BODY"
1180 GOTO 1630
1190 PRINT "3=HEAD"
1200 IF Q=0 THEN 1260
1210 IF R=1 THEN 1280
1220 PRINT "I NEEDED A HEAD"
1230 R=1
1240 C=0
1250 GOTO 1630
1260 PRINT "I DO NOT HAVE A NECK"
1270 GOTO 1630
1280 PRINT "I DO NOT NEED A HEAD"
1290 GOTO 1630
1300 PRINT "4=FEELERS"
1310 IF R=0 THEN 1390
1320 IF S=2 THEN 1370
1330 PRINT "I GET A FEELER"
1340 LET S=S+1
1350 C=0
1360 GOTO 1630
1370 PRINT "I HAVE 2 FEELERS ALREADY"
1380 GOTO 1630
1390 PRINT "I DO NOT HAVE A HEAD"
1400 GOTO 1630
1410 PRINT "5=TAIL"
1420 IF P=0 THEN 1480
1430 IF U=1 THEN 1500
1440 PRINT "I NOW HAVE A TAIL"
1450 U=1
1460 C=0
1470 GOTO 1630
1480 PRINT "I DO NOT HAVE A BODY"
1490 GOTO 1630
1500 PRINT "I DO NOT NEED A TAIL"
1510 GOTO 1630
1520 PRINT "6=LEGS"
1530 IF V=6 THEN 1590
1540 IF P=0 THEN 1610
1550 LET V=V+1
1560 C=0
1570 PRINT "I NOW HAVE "V" LEG(S)"
1580 GOTO 1630
1590 PRINT "I HAVE 6 FEET"
1600 GOTO 1630
1610 PRINT "I DO NOT HAVE A BODY"
1620 GOTO 1630
1630 IF A=2 AND T=1 AND L=6 THEN 1650
1640 GOTO 1670
1650 PRINT "YOUR BUG IS FINISHED"
1660 LET Y=Y+1
1670 IF S=2 AND P=1 AND V=6 THEN 1690
1680 GOTO 1710
1690 PRINT "MY BUG IS FINISHED"
1700 LET Y=Y+2
1710 IF C=1 THEN 300
1720 PRINT "DO YOU WANT THE PICTURES";
1730 INPUT Z$
1740 IF Z$="NO" THEN 300
1750 PRINT "*****YOUR BUG*****"
1760 PRINT
1770 PRINT
1780 IF A=0 THEN 1860
1790 FOR Z=1 TO 4
1800 FOR X=1 TO A
1810 PRINT TAB(10);
1820 PRINT "A ";
1830 NEXT X
1840 PRINT
1850 NEXT Z
1860 IF H=0 THEN 1880
1870 GOSUB 2470
1880 IF N=0 THEN 1920
1890 FOR Z=1 TO 2
1900 PRINT " N N"
1910 NEXT Z
1920 IF B=0 THEN 2000
1930 PRINT " BBBBBBBBBBBB"
1940 FOR Z=1 TO 2
1950 PRINT " B B"
1960 NEXT Z
1970 IF T#1 THEN 1990
1980 PRINT "TTTTTB B"
1990 PRINT " BBBBBBBBBBBB"
2000 IF L=0 THEN 2080
2010 FOR Z=1 TO 2
2020 PRINT TAB(5);
2030 FOR X=1 TO L
2040 PRINT " L";
2050 NEXT X
2060 PRINT
2070 NEXT Z
2080 FOR Z=1 TO 4
2090 PRINT
2100 NEXT Z
2110 PRINT "*****MY BUG*****"
2120 PRINT
2130 PRINT
2140 PRINT
2150 IF S=0 THEN 2230
2160 FOR Z=1 TO 4
2170 PRINT TAB(10);
2180 FOR X=1 TO S
2190 PRINT "F ";
2200 NEXT X
2210 PRINT
2220 NEXT Z
2230 IF R#1 THEN 2250
2240 GOSUB 2470
2250 IF Q=0 THEN 2280
2260 PRINT " N N"
2270 PRINT " N N"
2280 IF P=0 THEN 2360
2290 PRINT " BBBBBBBBBBBB"
2300 FOR Z=1 TO 2
2310 PRINT " B B"
2320 NEXT Z
2330 IF U#1 THEN 2350
2340 PRINT "TTTTTB B"
2350 PRINT " BBBBBBBBBBBB"
2360 IF V=0 THEN 2450
2370 FOR Z=1 TO 2
2380 PRINT TAB(5);
2390 FOR X=1 TO V
2400 PRINT " L";
2410 NEXT X
2420 PRINT
2430 NEXT Z
2450 IF Y#0 THEN 2540
2460 GOTO 300
2470 PRINT " HHHHHHH"
2480 PRINT " H H"
2490 PRINT " H O O H"
2500 PRINT " H H"
2510 PRINT " H V H"
2520 PRINT " HHHHHHH"
2530 RETURN
2540 PRINT "I HOPE YOU ENJOYED THE GAME, PLAY IT AGAIN SOON !!!"
2550 END

170
dec/FURS.BAS Normal file
View File

@ -0,0 +1,170 @@
1 DIM F(4)
2 RANDOM
15 GOSUB 1091
16 LET I=600
17 PRINT "DO YOU WISH TO TRADE FURS?"
18 GOSUB 1402
19 IF B$="YES" THEN 100
20 IF B$="NO" THEN 2200
25 GOSUB 1402
100 PRINT
101 PRINT "YOU HAVE $";I "SAVINGS."
102 PRINT "AND 190 FURS TO BEGIN THE EXPEDITION."
300 PRINT
301 PRINT "YOUR 190 FURS ARE DISTRIBUTED AMONG THE FOLLOWING"
302 PRINT "KINDS OF PELTS: MINK, BEAVER, ERMINE AND FOX."
310 GOSUB 1430
315 RESTORE
330 FOR J=1 TO 4
332 READ B$
333 PRINT
335 PRINT "HOW MANY ";B$;" PELTS DO YOU HAVE";
338 INPUT F(J)
340 LET F(0)=F(1)+F(2)+F(3)+F(4)
342 IF F(0)=190 THEN 1100
344 IF F(0)>190 THEN 500
348 NEXT J
350 GO TO 1100
500 PRINT
501 PRINT "YOU MAY NOT HAVE THAT MANY FURS."
502 PRINT "DO NOT TRY TO CHEAT. I CAN ADD."
503 PRINT "YOU MUST START AGAIN."
504 GO TO 15
508 PRINT
511 PRINT "DO YOU WANT TO TRADE FURS NEXT YEAR?"
513 GO TO 18
1091 PRINT "YOU ARE THE LEADER OF A FRENCH FUR TRADING EXPEDITION IN "
1092 PRINT "1776 LEAVING THE LAKE ONTARIO AREA TO SELL FURS AND GET"
1093 PRINT "SUPPLIES FOR THE NEXT YEAR. YOU HAVE A CHOICE OF THREE"
1094 PRINT "FORTS AT WHICH YOU MAY TRADE. THE COST OF SUPPLIES"
1095 PRINT "AND THE AMOUNT YOU RECEIVE FOR YOUR FURS WILL DEPEND"
1096 PRINT "ON THE FORT THAT YOU CHOOSE."
1099 RETURN
1100 PRINT "DO YOU WANT TO TRADE YOUR FURS AT FORT 1, FORT 2,"
1102 PRINT "OR FORT 3? FORT 1 IS FORT HOCHELAGA (MONTREAL)"
1103 PRINT "AND IS UNDER THE PROTECTION OF THE FRENCH ARMY."
1104 PRINT "FORT 2 IS FORT STADACONA (QUEBEC) AND IS UNDER THE"
1105 PRINT "PROTECTION OF THE FRENCH ARMY. HOWEVER, YOU MUST"
1106 PRINT "MAKE A PORTAGE AND CROSS THE LACHINE RAPIDS."
1108 PRINT "FORT 3 IS FORT NEW YORK AND IS UNDER DUTCH CONTROL."
1109 PRINT "YOU MUST CROSS THROUGH IROQUOIS LAND."
1110 PRINT "ANSWER 1, 2, OR 3."
1111 INPUT B
1112 IF B=1 THEN 1120
1113 IF B=2 THEN 1135
1115 IF B=3 THEN 1147
1116 GO TO 1110
1120 PRINT "YOU HAVE CHOSEN THE EASIEST ROUTE. HOWEVER, THE FORT"
1121 PRINT "IS FAR FROM ANY SEAPORT. THE VALUE"
1122 PRINT "YOU RECEIVE FOR YOUR FURS WILL BE LOW AND THE COST"
1123 PRINT "OF SUPPLIES HIGHER THAN AT FORTS STADACONA OR NEW YORK."
1125 GOSUB 1400
1129 IF B$="YES" THEN 1110
1130 GOTO 1160
1135 PRINT "YOU HAVE CHOSEN A HARD ROUTE. IT IS, IN COMPARSION,"
1136 PRINT "HARDER THAN THE ROUTE TO HOCHELAGA BUT EASIER THAN"
1137 PRINT "THE ROUTE TO NEW YORK. YOU WILL RECEIVE AN AVERAGE VALUE"
1138 PRINT "FOR YOUR FURS AND THE COST OF YOUR SUPPLIES WILL BE AVERAGE"
1141 GOSUB 1400
1144 IF B$="YES" THEN 1110
1145 GOTO 1198
1147 PRINT "YOU HAVE CHOSEN THE MOST DIFFICULT ROUTE. AT"
1148 PRINT "FORT NEW YORK YOU WILL RECEIVE THE HIGHEST VALUE"
1149 PRINT "FOR YOUR FURS. THE COST OF YOUR SUPPLIES"
1150 PRINT "WILL BE LOWER THAN AT ALL THE OTHER FORTS."
1152 GOSUB 1400
1155 IF B$="YES" THEN 1110
1156 GOTO 1250
1160 LET I=I-160
1169 PRINT
1174 LET M1=INT((.2*RND(0)+.7)*100+.5)/100
1175 LET E1=INT((.2*RND(0)+.65)*10^2+.5)/10^2
1176 LET B1=INT((.2*RND(0)+.75)*10^2+.5)/10^2
1177 LET D1=INT((.2*RND(0)+.80)*10^2+.5)/10^2
1180 PRINT "SUPPLIES AT FORT HOCHELAGA COST $150.00"
1181 PRINT "YOUR TRAVEL EXPENSES TO HOCHELAGA WERE $10.00"
1190 GO TO 1410
1198 LET I=I-140
1201 PRINT
1205 LET M1=INT((.3*RND(0)+.85)*10^2+.5)/10^2
1206 LET E1=INT((.15*RND(0)+.80)*10^2+.5)/10^2
1207 LET B1=INT((.2*RND(0)+.90)*10^2+.5)/10^2
1209 LET P=INT(10*RND(O0))+1
1210 IF P<=2 THEN 1216
1212 IF P<=6 THEN 1224
1213 IF P<=8 THEN 1226
1215 IF P<=10 THEN 1235
1216 LET F(2)=0
1218 PRINT "YOUR BEAVER WERE TOO HEAVY TO CARRY ACROSS"
1219 PRINT "THE PORTAGE. YOU HAD TO LEAVE THE PELTS, BUT FOUND"
1220 PRINT "THEM STOLEN WHEN YOU RETURNED"
1221 GOSUB 1244
1222 GO TO 1414
1224 PRINT "YOU ARRIVED SAFELY AT FORT STADACONA"
1225 GO TO 1239
1226 GOSUB 1430
1230 PRINT "YOUR CANOE UPSET IN THE LACHINE RAPIDS. YOU"
1231 PRINT "LOST ALL YOUR FURS"
1232 GOSUB 1244
1233 GO TO 1418
1235 LET F(4)=0
1237 PRINT "YOUR FOX PELTS WERE NOT CURED PROPERLY."
1238 PRINT "NO ONE WILL BUY THEM."
1239 GOSUB 1244
1240 GO TO 1410
1244 PRINT "SUPPLIES AT FORT STADACONA COST $125.00"
1246 PRINT "YOUR TRAVEL EXPENSES TO STADACONA WERE $15.00"
1248 RETURN
1250 LET I=I-105
1254 PRINT
1260 LET M1=INT((.15*RND(0)+1.05)*10^2+.5)/10^2
1261 LET E1=INT((.15*RND(0)+.95)*10^2+.5)/10^2
1262 LET B1=INT((.25*RND(0)+1.00)*10^2+.5)/10^2
1263 LET D1=INT((.25*RND(0)+1.10)*10^2+.5)/10^2
1270 LET P=INT(10*RND(0))+1
1271 IF P<=2 THEN 1281
1272 IF P<=6 THEN 1291
1273 IF P<=8 THEN 1295
1274 IF P<=10 THEN 1306
1281 PRINT "YOU WERE ATTACKED BY A PARTY OF IROQUOIS."
1282 PRINT "ALL PEOPLE IN YOUR TRADING GROUP WERE"
1283 PRINT "KILLED. THIS ENDS THE GAME."
1284 STOP
1291 PRINT "YOU WERE LUCKY. YOU ARRIVED SAFELY"
1292 PRINT "AT FORT NEW YORK."
1293 GO TO 1311
1295 GOSUB 1430
1300 PRINT "YOU NARROWLY ESCAPED AN IROQUOIS RAIDING PARTY."
1301 PRINT "HOWEVER, YOU HAD TO LEAVE ALL YOUR FURS BEHIND."
1303 GOSUB 1320
1304 GO TO 1418
1306 LET B1=B1/2
1307 LET M1=M1/2
1308 PRINT "YOUR MINK AND BEAVER WERE DAMAGED ON YOUR TRIP."
1309 PRINT "YOU RECEIVE ONLY HALF THE CURRENT PRICE FOR THESE FURS."
1311 GOSUB 1320
1312 GO TO 1410
1320 PRINT "SUPPLIES AT NEW YORK COST $80.00"
1322 RETURN
1400 PRINT "DO YOU WANT TO TRADE AT ANOTHER FORT?"
1402 PRINT "ANSWER YES OR NO",
1403 INPUT B$
1404 RETURN
1410 PRINT
1412 PRINT "YOUR BEAVER SOLD FOR $";B1*F(2);
1414 PRINT "YOUR FOX SOLD FOR $";D1*F(4)
1416 PRINT "YOUR ERMINE SOLD FOR $";E1*F(3);
1417 PRINT "YOUR MINK SOLD FOR $";M1*F(1)
1418 LET I=M1*F(1)+B1*F(2)+E1*F(3)+D1*F(4)+I
1420 PRINT
1422 PRINT "YOU NOW HAVE $";I;" INCLUDING YOUR PREVIOUS SAVINGS"
1425 GO TO 508
1430 FOR J=1 TO 4
1432 LET F(J)=0
1434 NEXT J
1436 RETURN
2000 DATA "MINK","BEAVER","ERMINE","FOX"
2046 END
2200 PRINT
2210 PRINT "YOU ENDED YOUR FUR TRADING WITH $"I"."
2220 PRINT "HOPE YOU ENJOYED YOURSELF!"

244
dec/ROCKT2.BAS Normal file
View File

@ -0,0 +1,244 @@
7 REM LUNAR1 IS A INTERACTIVE GAME THAT SIMULATES A LUNAR
8 REM LANDING SIMILAR TO THAT OF THE APOLLO PROGRAM.
9 REM THERE IS ABSOLUTELY NO CHANCE INVOLVED.
10 LET Z$="GO"
15 LET B1=1
20 LET M=17.95
25 LET F1=5.25
30 LET N=7.5
35 LET R0=926
40 LET V0=1.29
45 LET T=0
50 LET H0=60
55 LET R=R0+H0
60 LET A=-3.425
65 LET R1=0
70 LET A1=8.84361E-04
75 LET R3=0
80 LET A3=0
85 LET M1=7.45
90 LET M0=M1
95 LET B=750
100 LET T1=0
105 LET F=0
110 LET P=0
115 LET N=1
120 LET M2=0
125 LET S=0
130 LET C=0
135 IF Z$="YES" THEN 1150
140 PRINT
145 PRINT "LUNAR LANDING SIMULATION"
150 PRINT
155 PRINT "HAVE YOU FLOWN ON AN APOLLO/LEM MISSION BEFORE#";
160 PRINT "(YES OR NO)";
165 INPUT Q$
170 IF Q$="YES" THEN 190
175 IF Q$="NO" THEN 205
180 PRINT "JUST ANSWER THE QUESTION, PLEASE";
185 GOTO 160
190 PRINT
195 PRINT "INPUT MEASUREMENT OPTION NUMBER";
200 GOTO 225
205 PRINT
210 PRINT "WHICH SYSTEM OF MEASUREMENT DO YOU PREFER ?"
215 PRINT " 1=METRIC 0=ENGLISH"
220 PRINT "ENTER THE APPROPRIATE NUMBER";
225 INPUT K
230 PRINT
235 IF K=0 THEN 280
240 IF K=1 THEN 250
245 GOTO 220
250 LET Z=1852.8
255 LET M$="METERS"
260 LET G3=3.6
265 LET N$=" KILOMETERS"
270 LET G5=1000
275 GOTO 305
280 LET Z=6080
285 LET M$="FEET"
290 LET G3=.592
295 LET N$=" N.MILES"
300 LET G5=Z
305 IF B1=3 THEN 670
310 IF Q$="YES" THEN 485
315 PRINT
320 PRINT " YOU ARE ON A LUNAR LANDING MISSION. AS THE PILOT OF"
325 PRINT "THE LUNAR EXCURSION MODULE, YOU WILL BE EXPECTED TO"
330 PRINT "GIVE CERTAIN COMMANDS TO THE MODULE NAVIGATION SYSTEM."
335 PRINT " THE ON BOARD COMPUTER WILL GIVE A RUNNING ACCOUNT"
340 PRINT "OF INFORMATION NEEDED TO NAVIGATE THE SHIP."
345 PRINT
350 PRINT
355 PRINT "THE ATTITUDE ANGLE CALLED FOR IS DESCRIBED AS FOLLOWS-"
360 PRINT "+ OR -180 DEGREES IS DIRECTLY AWAY FROM THE MOON"
365 PRINT "-90 DEGREES IS ON A TANGENT IN THE DIRECTION OF ORBIT"
370 PRINT "90 DEGREES IS ON A TANGENT FROM THE DIRECTION OF ORBIT"
375 PRINT "0 (ZERO) DEGREES IS DIRECTLY TOWARD THE MOON"
380 PRINT
385 PRINT TAB(30);"-180,180"
390 PRINT TAB(34);"^"
395 PRINT TAB(27);"-90 < -+- > 90"
400 PRINT TAB(34);"!"
405 PRINT TAB(34);"0"
410 PRINT TAB(23);"<< DIRECTION OF ORBIT <<"
415 PRINT
420 PRINT TAB(27);"SURFACE OF MOON"
425 PRINT
430 PRINT
435 PRINT "ALL ANGLES BETWEEN -180 AND 180 DEGREES ARE ACCEPTED."
440 PRINT
445 PRINT "1 FUEL UNIT = 1 SEC. AT MAX THRUST"
450 PRINT "ANY DISCREPANCIES ARE ACCOUNTED FOR IN THE USE OF FUEL"
455 PRINT "FOR AN ATTITUDE CHANGE."
460 PRINT "AVAILABLE ENGINE POWER: 0 (ZERO) AND ANY VALUE BETWEEN"
465 PRINT "10 AND 100 PERCENT."
470 PRINT
475 PRINT"NEGATIVE THRUST OR TIME IS PROHIBITED"
480 PRINT
485 PRINT
490 PRINT "INPUT: TIME INTERVAL IN SECONDS ------ (T)"
495 PRINT " PERCENTAGE OF THRUST ---------- (P)"
500 PRINT " ATTITUDE ANGLE IN DEGREES ----- (A)"
505 PRINT
510 IF Q$="YES" THEN 535
515 PRINT "FOR EXAMPLE:"
520 PRINT "T,P,A?10,65,-60"
525 PRINT "TO ABORT THE MISSION AT ANY TIME, ENTER 0,0,0"
530 PRINT
535 PRINT "OUTPUT: TOTAL TIME ELAPSED IN SECONDS"
540 PRINT " HEIGHT IN ";M$
545 PRINT " DISTANCE FROM LANDING SITE IN ";M$
550 PRINT " VERTICAL VELOCITY IN ";M$;"/SECOND"
555 PRINT " HORIZONTAL VELOCITY IN ";M$;"/SECOND"
560 PRINT " FUEL UNITS REMAINING"
565 PRINT
570 GOTO 670
575 PRINT
580 PRINT "T,P,A";
585 INPUT T1,F,P
590 LET F=F/100
595 IF T1<0 THEN 905
600 IF T1=0 THEN 1090
605 IF ABS(F-.05)>1 THEN 945
610 IF ABS(F-.05)<.05 THEN 945
615 IF ABS(P)>180 THEN 925
620 LET N=20
625 IF T1<400 THEN 635
630 LET N=T1/20
635 LET T1=T1/N
640 LET P=P*3.14159/180
645 LET S=SIN(P)
650 LET C=COS(P)
655 LET M2=M0*T1*F/B
660 LET R3=-.5*R0*((V0/R)^2)+R*A1*A1
665 LET A3=-2*R1*A1/R
670 FOR I=1 TO N
675 IF M1=0 THEN 715
680 LET M1=M1-M2
685 IF M1>0 THEN 725
690 LET F=F*(1+M1/M2)
695 LET M2=M1+M2
700 PRINT "YOU ARE OUT OF FUEL"
705 LET M1=0
710 GOTO 725
715 LET F=0
720 LET M2=0
725 LET M=M-.5*M2
730 LET R4=R3
735 LET R3=-.5*R0*((V0/R)^2)+R*A1*A1
740 LET R2=(3*R3-R4)/2+.00526*F1*F*C/M
745 LET A4=A3
750 LET A3=-2*R1*A1/R
755 LET A2=(3*A3-A4)/2+.00526*F1*F*S/(M*R)
760 LET X=R1*T1+.5*R2*T1*T1
765 LET R=R+X
770 LET H0=H0+X
775 LET R1=R1+R2*T1
780 LET A=A+A1*T1+.5*A2*T1*T1
785 LET A1=A1+A2*T1
790 LET M=M-.5*M2
795 LET T=T+T1
800 IF H0<3.287828E-04 THEN 810
805 NEXT I
810 LET H=H0*Z
815 LET H1=R1*Z
820 LET D=R0*A*Z
825 LET D1=R*A1*Z
830 LET T2=M1*B/M0
835 PRINT TAB(1);T;TAB(10);H;TAB(23);D;
840 PRINT TAB(37);H1;TAB(49);D1;TAB(60);T2
845 IF H0<3.287828E-04 THEN 880
850 IF R0*A>164.4736 THEN 1050
855 IF M1>0 THEN 580
860 LET T1=20
865 LET F=0
870 LET P=0
875 GOTO 620
880 IF R1<-8.21957E-04 THEN 1020
885 IF ABS(R*A1)>4.931742E-04 THEN 1020
890 IF H0<-3.287828E-04 THEN 1020
895 IF ABS(D)>10*Z THEN 1065
900 GOTO 995
905 PRINT
910 PRINT "THIS SPACECRAFT IS NOT ABLE TO VIOLATE THE SPACE-";
915 PRINT "TIME CONTINUUM."
920 GOTO 575
925 PRINT
930 PRINT "IF YOU WANT TO SPIN AROUND, GO OUTSIDE THE MODULE";
935 PRINT "FOR AN E.V.A"
940 GOTO 575
945 PRINT
950 PRINT "IMPOSSIBLE THRUST-VALUE ";
955 IF F<0 THEN 985
960 IF F-.05<.05 THEN 975
965 PRINT "TOO LARGE"
970 GOTO 575
975 PRINT "TOO SMALL"
980 GOTO 575
985 PRINT "NEGATIVE"
990 GOTO 575
995 PRINT
1000 PRINT "TRANQUILITY BASE HERE -- THE EAGLE HAS LANDED"
1005 PRINT "CONGRATULATIONS - THERE WAS NO SPACECRAFT DAMAGE"
1010 PRINT "YOU MAY NOW PROCEED WITH SURFACE EXPLORATION."
1015 GOTO 1100
1020 PRINT
1025 PRINT "CRASH !!!!!!!!!!!"
1030 PRINT "YOUR IMPACT CREATED A CRATER";ABS(H);M$;" DEEP"
1035 X1=SQR(D1*D1+H1*H1)*G3
1040 PRINT "AT CONTACT YOU WERE TRAVELING";X1;N$;"/HR."
1045 GOTO 1100
1050 PRINT
1055 PRINT "YOU HAVE BEEN LOST IN SPACE WITH NO HOPE OF RECOVERY"
1060 GOTO 1100
1065 PRINT "YOU ARE DOWN SAFELY - "
1075 PRINT
1080 PRINT "BUT MISSED THE LANDING SITE BY";ABS(D/G5);N$
1085 GOTO 1100
1090 PRINT
1095 PRINT "MISSION ABORTED"
1100 PRINT
1105 PRINT "DO YOU WANT TO FLY IT AGAIN ? (YES OR NO)";
1110 INPUT Z$
1115 IF Z$="YES" THEN 20
1120 IF Z$="NO" THEN 1130
1125 GOTO 1105
1130 PRINT
1135 PRINT "TOO BAD, THE SPACE PROGRAM HATES TO LOSE EXPERIENCED";
1140 PRINT " ASTRONAUTS."
1145 STOP
1150 PRINT
1155 PRINT "OK, DO YOU WANT THE COMPLETE INSTRUCTIONS OR THE INPUT-"
1160 PRINT "OUTPUT STATEMENTS ?"
1165 PRINT "1=COMPLETE INSTRUCTIONS"
1170 PRINT "2=INPUT-OUTPUT STATEMENTS"
1175 PRINT "3=NEITHER"
1180 INPUT B1
1185 LET Q$="NO"
1190 IF B1=1 THEN 205
1195 LET Q$="YES"
1200 IF B1=2 THEN 190
1205 IF B1=3 THEN 190
1210 GOTO 1165
1215 END

254
port/BUG.BAS Normal file
View File

@ -0,0 +1,254 @@
1 REM BRIAN MONTE LEIBOWITZ GRADE 7
2 REM HARRISON JR. HIGH SCHOOL
3 REM HARRISON N.Y.
4 RANDOMIZE
5 A=0\B=0\H=0\L=0\N=0\P=0\Q=0\R=0\S=0\T=0\U=0\V=0\Y=0
6 PRINT "THE GAME BUG IS LIKE THE GAME COOTI,"
7 PRINT "I HOPE YOU ENJOY THIS GAME"
8 PRINT
9 PRINT "DO YOU WANT INSTRUCTIONS";
10 INPUT Z$
11 IF Z$="NO" THEN 30
12 PRINT "THE OBJECT OF BUG IS TO FINISH YOUR BUG BEFORE I FINISH MINE"
13 PRINT "EACH NUMBER STANDS FOR A PART OF THE BUGS BODY"
14 PRINT "I WILL ROLL THE DIE FOR YOU, TELL YOU WHAT I ROLLED FOR YOU"
15 PRINT "WHAT THE NUMBER STANDS FOR, AND IF YOU CAN GET THE PART."
16 PRINT "IF YOU CAN GET THE PART I WILL GIVE IT TO YOU."
17 PRINT "THE SAME WILL HAPPEN ON MY TURN"
18 PRINT "IF THERE IS A CHANGE IN EITHER BUG I WILL GIVE YOU THE "
19 PRINT "OPTION OF SEEING THE PICTURES OF THE BUGS."
20 PRINT "THE NUMBERS STAND FOR PARTS AS FOLLOWS:"
21 PRINT "NUMBER","PART","NUMBER OF PART NEEDED"
22 PRINT "1","BODY","1"
23 PRINT "2","NECK","1"
24 PRINT "3","HEAD","1"
25 PRINT "4","FEELERS","2"
26 PRINT "5","TAIL","1"
27 PRINT "6","LEGS","6"
28 PRINT
29 PRINT
30 IF Y>0 THEN 248
31 Z=INT(6*RND(0)+1)
32 C=1
33 PRINT "YOU ROLLED A "Z
34 ON Z GOTO 35,43,54,65,76,87
35 PRINT "1=BODY"
36 IF B=1 THEN 41
37 PRINT "YOU NOW HAVE A BODY"
38 B=1
39 C=0
40 GOTO 97
41 PRINT "YOU DO NOT NEED A BODY"
42 GOTO 97
43 PRINT "2=NECK"
44 IF N=1 THEN 50
45 IF B=0 THEN 52
46 PRINT "YOU NOW HAVE A NECK"
47 N=1
48 C=0
49 GOTO 97
50 PRINT "YOU DO NOT NEED A NECK"
51 GOTO 97
52 PRINT "YOU DO NOT HAVE A BODY"
53 GOTO 97
54 PRINT "3=HEAD"
55 IF N=0 THEN 61
56 IF H=1 THEN 63
57 PRINT "YOU NEEDED A HEAD"
58 H=1
59 C=0
60 GOTO 97
61 PRINT "YOU DO NOT HAVE A NECK"
62 GOTO 97
63 PRINT "YOU HAVE A HEAD"
64 GOTO 97
65 PRINT "4=FEELERS"
66 IF H=0 THEN 74
67 IF A=2 THEN 72
68 PRINT "I NOW GIVE YOU A FEELER"
69 LET A=A+1
70 C=0
71 GOTO 97
72 PRINT "YOU HAVE TWO FEELERS ALREADY"
73 GOTO 97
74 PRINT "YOU DO NOT HAVE A HEAD"
75 GOTO 97
76 PRINT "5=TAIL"
77 IF B=0 THEN 83
78 IF T=1 THEN 85
79 PRINT "I NOW GIVE YOU A TAIL"
80 LET T=T+1
81 C=0
82 GOTO 97
83 PRINT "YOU DO NOT HAVE A BODY"
84 GOTO 97
85 PRINT "YOU ALREADY HAVE A TAIL"
86 GOTO 97
87 PRINT "6=LEG"
88 IF L=6 THEN 94
89 IF B=0 THEN 96
90 LET L=L+1
91 C=0
92 PRINT "YOU NOW HAVE "L" LEG(S)"
93 GOTO 97
94 PRINT "YOU HAVE 6 FEET ALREADY"
95 GOTO 97
96 PRINT "YOU DO NOT HAVE A BODY"
97 LET X=INT(6*RND(0)+1)
98 PRINT "I ROLLED A "X
99 ON X GOTO 100,108,119,130,141,152
100 PRINT "1=BODY"
101 IF P=1 THEN 106
102 PRINT "I NOW HAVE A BODY"
103 C=0
104 P=1
105 GOTO 163
106 PRINT "I DO NOT NEED A BODY"
107 GOTO 163
108 PRINT "2=NECK"
109 IF Q=1 THEN 115
110 IF P=0 THEN 117
111 PRINT "I NOW HAVE A NECK"
112 Q=1
113 C=0
114 GOTO 163
115 PRINT "I DO NOT NEED A NECK"
116 GOTO 163
117 PRINT "I DO NOT HAVE A BODY"
118 GOTO 163
119 PRINT "3=HEAD"
120 IF Q=0 THEN 126
121 IF R=1 THEN 128
122 PRINT "I NEEDED A HEAD"
123 R=1
124 C=0
125 GOTO 163
126 PRINT "I DO NOT HAVE A NECK"
127 GOTO 163
128 PRINT "I DO NOT NEED A HEAD"
129 GOTO 163
130 PRINT "4=FEELERS"
131 IF R=0 THEN 139
132 IF S=2 THEN 137
133 PRINT "I GET A FEELER"
134 LET S=S+1
135 C=0
136 GOTO 163
137 PRINT "I HAVE 2 FEELERS ALREADY"
138 GOTO 163
139 PRINT "I DO NOT HAVE A HEAD"
140 GOTO 163
141 PRINT "5=TAIL"
142 IF P=0 THEN 148
143 IF U=1 THEN 150
144 PRINT "I NOW HAVE A TAIL"
145 U=1
146 C=0
147 GOTO 163
148 PRINT "I DO NOT HAVE A BODY"
149 GOTO 163
150 PRINT "I DO NOT NEED A TAIL"
151 GOTO 163
152 PRINT "6=LEGS"
153 IF V=6 THEN 159
154 IF P=0 THEN 161
155 LET V=V+1
156 C=0
157 PRINT "I NOW HAVE "V" LEG(S)"
158 GOTO 163
159 PRINT "I HAVE 6 FEET"
160 GOTO 163
161 PRINT "I DO NOT HAVE A BODY"
162 GOTO 163
163 IF A<>2 THEN 167\IF T<>1 THEN 167\IF L=6 THEN 165
164 GOTO 167
165 PRINT "YOUR BUG IS FINISHED"
166 LET Y=Y+1
167 IF S<>2 THEN 171\IF P<>1 THEN 171\IF V=6 THEN 169
168 GOTO 171
169 PRINT "MY BUG IS FINISHED"
170 LET Y=Y+2
171 IF C=1 THEN 30
172 PRINT "DO YOU WANT THE PICTURES";
173 INPUT Z$
174 IF Z$="NO" THEN 30
175 PRINT "*****YOUR BUG*****"
176 PRINT
177 PRINT
178 IF A=0 THEN 186
179 FOR Z=1 TO 4
180 PRINT TAB(10);
181 FOR X=1 TO A
182 PRINT "A ";
183 NEXT X
184 PRINT
185 NEXT Z
186 IF H=0 THEN 188
187 GOSUB 247
188 IF N=0 THEN 192
189 FOR Z=1 TO 2
190 PRINT " N N"
191 NEXT Z
192 IF B=0 THEN 200
193 PRINT " BBBBBBBBBBBB"
194 FOR Z=1 TO 2
195 PRINT " B B"
196 NEXT Z
197 IF T<>1 THEN 199
198 PRINT "TTTTTB B"
199 PRINT " BBBBBBBBBBBB"
200 IF L=0 THEN 208
201 FOR Z=1 TO 2
202 PRINT TAB(5);
203 FOR X=1 TO L
204 PRINT " L";
205 NEXT X
206 PRINT
207 NEXT Z
208 FOR Z=1 TO 4
209 PRINT
210 NEXT Z
211 PRINT "*****MY BUG*****"
212 PRINT
213 PRINT
214 PRINT
215 IF S=0 THEN 223
216 FOR Z=1 TO 4
217 PRINT TAB(10);
218 FOR X=1 TO S
219 PRINT "F ";
220 NEXT X
221 PRINT
222 NEXT Z
223 IF R<>1 THEN 225
224 GOSUB 247
225 IF Q=0 THEN 228
226 PRINT " N N"
227 PRINT " N N"
228 IF P=0 THEN 236
229 PRINT " BBBBBBBBBBBB"
230 FOR Z=1 TO 2
231 PRINT " B B"
232 NEXT Z
233 IF U<>1 THEN 235
234 PRINT "TTTTTB B"
235 PRINT " BBBBBBBBBBBB"
236 IF V=0 THEN 245
237 FOR Z=1 TO 2
238 PRINT TAB(5);
239 FOR X=1 TO V
240 PRINT " L";
241 NEXT X
242 PRINT
243 NEXT Z
245 IF Y<>0 THEN 254
246 GOTO 30
247 PRINT " HHHHHHH"
248 PRINT " H H"
249 PRINT " H O O H"
250 PRINT " H H"
251 PRINT " H V H"
252 PRINT " HHHHHHH"
253 RETURN
254 PRINT "I HOPE YOU ENJOYED THE GAME, PLAY IT AGAIN SOON !!!"
255 END

171
port/FURS.BAS Normal file
View File

@ -0,0 +1,171 @@
1 DIM F(4)
2 RANDOM
15 GOSUB 1091
16 LET I=600
17 PRINT "DO YOU WISH TO TRADE FURS?"
18 GOSUB 1402
19 IF B$="YES" THEN 100
20 IF B$="NO" THEN 2010
25 GOSUB 1402
100 PRINT
101 PRINT "YOU HAVE $";I "SAVINGS."
102 PRINT "AND 190 FURS TO BEGIN THE EXPEDITION."
300 PRINT
301 PRINT "YOUR 190 FURS ARE DISTRIBUTED AMONG THE FOLLOWING"
302 PRINT "KINDS OF PELTS: MINK, BEAVER, ERMINE AND FOX."
310 GOSUB 1430
315 RESTORE
330 FOR J=1 TO 4
332 READ B$
333 PRINT
335 PRINT "HOW MANY ";B$;" PELTS DO YOU HAVE";
338 INPUT F(J)
340 LET F(0)=F(1)+F(2)+F(3)+F(4)
342 IF F(0)=190 THEN 1100
344 IF F(0)>190 THEN 500
348 NEXT J
350 GO TO 1100
500 PRINT
501 PRINT "YOU MAY NOT HAVE THAT MANY FURS."
502 PRINT "DO NOT TRY TO CHEAT. I CAN ADD."
503 PRINT "YOU MUST START AGAIN."
504 GO TO 15
508 PRINT
511 PRINT "DO YOU WANT TO TRADE FURS NEXT YEAR?"
513 GO TO 18
1091 PRINT "YOU ARE THE LEADER OF A FRENCH FUR TRADING EXPEDITION IN "
1092 PRINT "1776 LEAVING THE LAKE ONTARIO AREA TO SELL FURS AND GET"
1093 PRINT "SUPPLIES FOR THE NEXT YEAR. YOU HAVE A CHOICE OF THREE"
1094 PRINT "FORTS AT WHICH YOU MAY TRADE. THE COST OF SUPPLIES"
1095 PRINT "AND THE AMOUNT YOU RECEIVE FOR YOUR FURS WILL DEPEND"
1096 PRINT "ON THE FORT THAT YOU CHOOSE."
1099 RETURN
1100 PRINT "DO YOU WANT TO TRADE YOUR FURS AT FORT 1, FORT 2,"
1102 PRINT "OR FORT 3? FORT 1 IS FORT HOCHELAGA (MONTREAL)"
1103 PRINT "AND IS UNDER THE PROTECTION OF THE FRENCH ARMY."
1104 PRINT "FORT 2 IS FORT STADACONA (QUEBEC) AND IS UNDER THE"
1105 PRINT "PROTECTION OF THE FRENCH ARMY. HOWEVER, YOU MUST"
1106 PRINT "MAKE A PORTAGE AND CROSS THE LACHINE RAPIDS."
1108 PRINT "FORT 3 IS FORT NEW YORK AND IS UNDER DUTCH CONTROL."
1109 PRINT "YOU MUST CROSS THROUGH IROQUOIS LAND."
1110 PRINT "ANSWER 1, 2, OR 3."
1111 INPUT B
1112 IF B=1 THEN 1120
1113 IF B=2 THEN 1135
1115 IF B=3 THEN 1147
1116 GO TO 1110
1120 PRINT "YOU HAVE CHOSEN THE EASIEST ROUTE. HOWEVER, THE FORT"
1121 PRINT "IS FAR FROM ANY SEAPORT. THE VALUE"
1122 PRINT "YOU RECEIVE FOR YOUR FURS WILL BE LOW AND THE COST"
1123 PRINT "OF SUPPLIES HIGHER THAN AT FORTS STADACONA OR NEW YORK."
1125 GOSUB 1400
1129 IF B$="YES" THEN 1110
1130 GOTO 1160
1135 PRINT "YOU HAVE CHOSEN A HARD ROUTE. IT IS, IN COMPARISON,"
1136 PRINT "HARDER THAN THE ROUTE TO HOCHELAGA BUT EASIER THAN"
1137 PRINT "THE ROUTE TO NEW YORK. YOU WILL RECEIVE AN AVERAGE VALUE"
1138 PRINT "FOR YOUR FURS AND THE COST OF YOUR SUPPLIES WILL BE AVERAGE"
1141 GOSUB 1400
1144 IF B$="YES" THEN 1110
1145 GOTO 1198
1147 PRINT "YOU HAVE CHOSEN THE MOST DIFFICULT ROUTE. AT"
1148 PRINT "FORT NEW YORK YOU WILL RECEIVE THE HIGHEST VALUE"
1149 PRINT "FOR YOUR FURS. THE COST OF YOUR SUPPLIES"
1150 PRINT "WILL BE LOWER THAN AT ALL THE OTHER FORTS."
1152 GOSUB 1400
1155 IF B$="YES" THEN 1110
1156 GOTO 1250
1160 LET I=I-160
1169 PRINT
1174 LET M1=INT((.2*RND(0)+.7)*100+.5)/100
1175 LET E1=INT((.2*RND(0)+.65)*10^2+.5)/10^2
1176 LET B1=INT((.2*RND(0)+.75)*10^2+.5)/10^2
1177 LET D1=INT((.2*RND(0)+.80)*10^2+.5)/10^2
1180 PRINT "SUPPLIES AT FORT HOCHELAGA COST $150.00"
1181 PRINT "YOUR TRAVEL EXPENSES TO HOCHELAGA WERE $10.00"
1190 GO TO 1410
1198 LET I=I-140
1201 PRINT
1205 LET M1=INT((.3*RND(0)+.85)*10^2+.5)/10^2
1206 LET E1=INT((.15*RND(0)+.80)*10^2+.5)/10^2
1207 LET B1=INT((.2*RND(0)+.90)*10^2+.5)/10^2
1209 LET P=INT(10*RND(0))+1
1210 IF P<=2 THEN 1216
1212 IF P<=6 THEN 1224
1213 IF P<=8 THEN 1226
1215 IF P<=10 THEN 1235
1216 LET F(2)=0
1218 PRINT "YOUR BEAVER WERE TOO HEAVY TO CARRY ACROSS"
1219 PRINT "THE PORTAGE. YOU HAD TO LEAVE THE PELTS, BUT FOUND"
1220 PRINT "THEM STOLEN WHEN YOU RETURNED"
1221 GOSUB 1244
1222 GO TO 1414
1224 PRINT "YOU ARRIVED SAFELY AT FORT STADACONA"
1225 GO TO 1239
1226 GOSUB 1430
1230 PRINT "YOUR CANOE UPSET IN THE LACHINE RAPIDS. YOU"
1231 PRINT "LOST ALL YOUR FURS"
1232 GOSUB 1244
1233 GO TO 1418
1235 LET F(4)=0
1237 PRINT "YOUR FOX PELTS WERE NOT CURED PROPERLY."
1238 PRINT "NO ONE WILL BUY THEM."
1239 GOSUB 1244
1240 GO TO 1410
1244 PRINT "SUPPLIES AT FORT STADACONA COST $125.00"
1246 PRINT "YOUR TRAVEL EXPENSES TO STADACONA WERE $15.00"
1248 RETURN
1250 LET I=I-105
1254 PRINT
1260 LET M1=INT((.15*RND(0)+1.05)*10^2+.5)/10^2
1261 LET E1=INT((.15*RND(0)+.95)*10^2+.5)/10^2
1262 LET B1=INT((.25*RND(0)+1.00)*10^2+.5)/10^2
1263 LET D1=INT((.25*RND(0)+1.10)*10^2+.5)/10^2
1270 LET P=INT(10*RND(0))+1
1271 IF P<=2 THEN 1281
1272 IF P<=6 THEN 1291
1273 IF P<=8 THEN 1295
1274 IF P<=10 THEN 1306
1281 PRINT "YOU WERE ATTACKED BY A PARTY OF IROQUOIS."
1282 PRINT "ALL PEOPLE IN YOUR TRADING GROUP WERE"
1283 PRINT "KILLED. THIS ENDS THE GAME."
1284 STOP
1291 PRINT "YOU WERE LUCKY. YOU ARRIVED SAFELY"
1292 PRINT "AT FORT NEW YORK."
1293 GO TO 1311
1295 GOSUB 1430
1300 PRINT "YOU NARROWLY ESCAPED AN IROQUOIS RAIDING PARTY."
1301 PRINT "HOWEVER, YOU HAD TO LEAVE ALL YOUR FURS BEHIND."
1303 GOSUB 1320
1304 GO TO 1418
1306 LET B1=B1/2
1307 LET M1=M1/2
1308 PRINT "YOUR MINK AND BEAVER WERE DAMAGED ON YOUR TRIP."
1309 PRINT "YOU RECEIVE ONLY HALF THE CURRENT PRICE FOR THESE FURS."
1311 GOSUB 1320
1312 GO TO 1410
1320 PRINT "SUPPLIES AT NEW YORK COST $80.00"
1321 PRINT "YOUR TRAVEL EXPENSES TO NEW YORK WERE $25.00"
1322 RETURN
1400 PRINT "DO YOU WANT TO TRADE AT ANOTHER FORT?"
1402 PRINT "ANSWER YES OR NO",
1403 INPUT B$
1404 RETURN
1410 PRINT
1412 PRINT "YOUR BEAVER SOLD FOR $";B1*F(2);
1414 PRINT "YOUR FOX SOLD FOR $";D1*F(4)
1416 PRINT "YOUR ERMINE SOLD FOR $";E1*F(3);
1417 PRINT "YOUR MINK SOLD FOR $";M1*F(1)
1418 LET I=M1*F(1)+B1*F(2)+E1*F(3)+D1*F(4)+I
1420 PRINT
1422 PRINT "YOU NOW HAVE $";I;" INCLUDING YOUR PREVIOUS SAVINGS"
1425 GO TO 508
1430 FOR J=1 TO 4
1432 LET F(J)=0
1434 NEXT J
1436 RETURN
2000 DATA "MINK","BEAVER","ERMINE","FOX"
2010 PRINT
2020 PRINT "YOU ENDED YOUR FUR TRADING WITH $"I"."
2030 PRINT "HOPE YOU ENJOYED YOURSELF!"
2046 END

244
port/ROCKT2.BAS Normal file
View File

@ -0,0 +1,244 @@
7 REM LUNAR1 IS A INTERACTIVE GAME THAT SIMULATES A LUNAR
8 REM LANDING SIMILAR TO THAT OF THE APOLLO PROGRAM.
9 REM THERE IS ABSOLUTELY NO CHANCE INVOLVED.
10 LET Z$="GO"
15 LET B1=1
20 LET M=17.95
25 LET F1=5.25
30 LET N=7.5
35 LET R0=926
40 LET V0=1.29
45 LET T=0
50 LET H0=60
55 LET R=R0+H0
60 LET A=-3.425
65 LET R1=0
70 LET A1=8.84361E-04
75 LET R3=0
80 LET A3=0
85 LET M1=7.45
90 LET M0=M1
95 LET B=750
100 LET T1=0
105 LET F=0
110 LET P=0
115 LET N=1
120 LET M2=0
125 LET S=0
130 LET C=0
135 IF Z$="YES" THEN 1150
140 PRINT
145 PRINT "LUNAR LANDING SIMULATION"
150 PRINT
155 PRINT "HAVE YOU FLOWN ON AN APOLLO/LEM MISSION BEFORE#";
160 PRINT "(YES OR NO)";
165 INPUT Q$
170 IF Q$="YES" THEN 190
175 IF Q$="NO" THEN 205
180 PRINT "JUST ANSWER THE QUESTION, PLEASE";
185 GOTO 160
190 PRINT
195 PRINT "INPUT MEASUREMENT OPTION NUMBER";
200 GOTO 225
205 PRINT
210 PRINT "WHICH SYSTEM OF MEASUREMENT DO YOU PREFER ?"
215 PRINT " 1=METRIC 0=ENGLISH"
220 PRINT "ENTER THE APPROPRIATE NUMBER";
225 INPUT K
230 PRINT
235 IF K=0 THEN 280
240 IF K=1 THEN 250
245 GOTO 220
250 LET Z=1852.8
255 LET M$="METERS"
260 LET G3=3.6
265 LET N$=" KILOMETERS"
270 LET G5=1000
275 GOTO 305
280 LET Z=6080
285 LET M$="FEET"
290 LET G3=.592
295 LET N$=" N.MILES"
300 LET G5=Z
305 IF B1=3 THEN 670
310 IF Q$="YES" THEN 485
315 PRINT
320 PRINT " YOU ARE ON A LUNAR LANDING MISSION. AS THE PILOT OF"
325 PRINT "THE LUNAR EXCURSION MODULE, YOU WILL BE EXPECTED TO"
330 PRINT "GIVE CERTAIN COMMANDS TO THE MODULE NAVIGATION SYSTEM."
335 PRINT " THE ON BOARD COMPUTER WILL GIVE A RUNNING ACCOUNT"
340 PRINT "OF INFORMATION NEEDED TO NAVIGATE THE SHIP."
345 PRINT
350 PRINT
355 PRINT "THE ATTITUDE ANGLE CALLED FOR IS DESCRIBED AS FOLLOWS-"
360 PRINT "+ OR -180 DEGREES IS DIRECTLY AWAY FROM THE MOON"
365 PRINT "-90 DEGREES IS ON A TANGENT IN THE DIRECTION OF ORBIT"
370 PRINT "90 DEGREES IS ON A TANGENT FROM THE DIRECTION OF ORBIT"
375 PRINT "0 (ZERO) DEGREES IS DIRECTLY TOWARD THE MOON"
380 PRINT
385 PRINT TAB(30);"-180,180"
390 PRINT TAB(34);"^"
395 PRINT TAB(27);"-90 < -+- > 90"
400 PRINT TAB(34);"!"
405 PRINT TAB(34);"0"
410 PRINT TAB(23);"<< DIRECTION OF ORBIT <<"
415 PRINT
420 PRINT TAB(27);"SURFACE OF MOON"
425 PRINT
430 PRINT
435 PRINT "ALL ANGLES BETWEEN -180 AND 180 DEGREES ARE ACCEPTED."
440 PRINT
445 PRINT "1 FUEL UNIT = 1 SEC. AT MAX THRUST"
450 PRINT "ANY DISCREPANCIES ARE ACCOUNTED FOR IN THE USE OF FUEL"
455 PRINT "FOR AN ATTITUDE CHANGE."
460 PRINT "AVAILABLE ENGINE POWER: 0 (ZERO) AND ANY VALUE BETWEEN"
465 PRINT "10 AND 100 PERCENT."
470 PRINT
475 PRINT"NEGATIVE THRUST OR TIME IS PROHIBITED"
480 PRINT
485 PRINT
490 PRINT "INPUT: TIME INTERVAL IN SECONDS ------ (T)"
495 PRINT " PERCENTAGE OF THRUST ---------- (P)"
500 PRINT " ATTITUDE ANGLE IN DEGREES ----- (A)"
505 PRINT
510 IF Q$="YES" THEN 535
515 PRINT "FOR EXAMPLE:"
520 PRINT "T,P,A?10,65,-60"
525 PRINT "TO ABORT THE MISSION AT ANY TIME, ENTER 0,0,0"
530 PRINT
535 PRINT "OUTPUT: TOTAL TIME ELAPSED IN SECONDS"
540 PRINT " HEIGHT IN ";M$
545 PRINT " DISTANCE FROM LANDING SITE IN ";M$
550 PRINT " VERTICAL VELOCITY IN ";M$;"/SECOND"
555 PRINT " HORIZONTAL VELOCITY IN ";M$;"/SECOND"
560 PRINT " FUEL UNITS REMAINING"
565 PRINT
570 GOTO 670
575 PRINT
580 PRINT "T,P,A";
585 INPUT T1,F,P
590 LET F=F/100
595 IF T1<0 THEN 905
600 IF T1=0 THEN 1090
605 IF ABS(F-.05)>1 THEN 945
610 IF ABS(F-.05)<.05 THEN 945
615 IF ABS(P)>180 THEN 925
620 LET N=20
625 IF T1<400 THEN 635
630 LET N=T1/20
635 LET T1=T1/N
640 LET P=P*3.14159/180
645 LET S=SIN(P)
650 LET C=COS(P)
655 LET M2=M0*T1*F/B
660 LET R3=-.5*R0*((V0/R)^2)+R*A1*A1
665 LET A3=-2*R1*A1/R
670 FOR I=1 TO N
675 IF M1=0 THEN 715
680 LET M1=M1-M2
685 IF M1>0 THEN 725
690 LET F=F*(1+M1/M2)
695 LET M2=M1+M2
700 PRINT "YOU ARE OUT OF FUEL"
705 LET M1=0
710 GOTO 725
715 LET F=0
720 LET M2=0
725 LET M=M-.5*M2
730 LET R4=R3
735 LET R3=-.5*R0*((V0/R)^2)+R*A1*A1
740 LET R2=(3*R3-R4)/2+.00526*F1*F*C/M
745 LET A4=A3
750 LET A3=-2*R1*A1/R
755 LET A2=(3*A3-A4)/2+.00526*F1*F*S/(M*R)
760 LET X=R1*T1+.5*R2*T1*T1
765 LET R=R+X
770 LET H0=H0+X
775 LET R1=R1+R2*T1
780 LET A=A+A1*T1+.5*A2*T1*T1
785 LET A1=A1+A2*T1
790 LET M=M-.5*M2
795 LET T=T+T1
800 IF H0<3.287828E-04 THEN 810
805 NEXT I
810 LET H=H0*Z
815 LET H1=R1*Z
820 LET D=R0*A*Z
825 LET D1=R*A1*Z
830 LET T2=M1*B/M0
835 PRINT TAB(1);T;TAB(10);H;TAB(23);D;
840 PRINT TAB(37);H1;TAB(49);D1;TAB(60);T2
845 IF H0<3.287828E-04 THEN 880
850 IF R0*A>164.4736 THEN 1050
855 IF M1>0 THEN 580
860 LET T1=20
865 LET F=0
870 LET P=0
875 GOTO 620
880 IF R1<-8.21957E-04 THEN 1020
885 IF ABS(R*A1)>4.931742E-04 THEN 1020
890 IF H0<-3.287828E-04 THEN 1020
895 IF ABS(D)>10*Z THEN 1065
900 GOTO 995
905 PRINT
910 PRINT "THIS SPACECRAFT IS NOT ABLE TO VIOLATE THE SPACE-";
915 PRINT "TIME CONTINUUM."
920 GOTO 575
925 PRINT
930 PRINT "IF YOU WANT TO SPIN AROUND, GO OUTSIDE THE MODULE";
935 PRINT "FOR AN E.V.A"
940 GOTO 575
945 PRINT
950 PRINT "IMPOSSIBLE THRUST-VALUE ";
955 IF F<0 THEN 985
960 IF F-.05<.05 THEN 975
965 PRINT "TOO LARGE"
970 GOTO 575
975 PRINT "TOO SMALL"
980 GOTO 575
985 PRINT "NEGATIVE"
990 GOTO 575
995 PRINT
1000 PRINT "TRANQUILITY BASE HERE -- THE EAGLE HAS LANDED"
1005 PRINT "CONGRATULATIONS - THERE WAS NO SPACECRAFT DAMAGE"
1010 PRINT "YOU MAY NOW PROCEED WITH SURFACE EXPLORATION."
1015 GOTO 1100
1020 PRINT
1025 PRINT "CRASH !!!!!!!!!!!"
1030 PRINT "YOUR IMPACT CREATED A CRATER";ABS(H);M$;" DEEP"
1035 X1=SQR(D1*D1+H1*H1)*G3
1040 PRINT "AT CONTACT YOU WERE TRAVELING";X1;N$;"/HR."
1045 GOTO 1100
1050 PRINT
1055 PRINT "YOU HAVE BEEN LOST IN SPACE WITH NO HOPE OF RECOVERY"
1060 GOTO 1100
1065 PRINT "YOU ARE DOWN SAFELY - "
1075 PRINT
1080 PRINT "BUT MISSED THE LANDING SITE BY";ABS(D/G5);N$
1085 GOTO 1100
1090 PRINT
1095 PRINT "MISSION ABORTED"
1100 PRINT
1105 PRINT "DO YOU WANT TO FLY IT AGAIN ? (YES OR NO)";
1110 INPUT Z$
1115 IF Z$="YES" THEN 20
1120 IF Z$="NO" THEN 1130
1125 GOTO 1105
1130 PRINT
1135 PRINT "TOO BAD, THE SPACE PROGRAM HATES TO LOSE EXPERIENCED";
1140 PRINT " ASTRONAUTS."
1145 STOP
1150 PRINT
1155 PRINT "OK, DO YOU WANT THE COMPLETE INSTRUCTIONS OR THE INPUT-"
1160 PRINT "OUTPUT STATEMENTS ?"
1165 PRINT "1=COMPLETE INSTRUCTIONS"
1170 PRINT "2=INPUT-OUTPUT STATEMENTS"
1175 PRINT "3=NEITHER"
1180 INPUT B1
1185 LET Q$="NO"
1190 IF B1=1 THEN 205
1195 LET Q$="YES"
1200 IF B1=2 THEN 190
1205 IF B1=3 THEN 190
1210 GOTO 1165
1215 END