From 8168f5a31abaa93d78578b3bbae89f2f76d572e0 Mon Sep 17 00:00:00 2001 From: Renaud Fivet Date: Tue, 28 May 2024 10:30:30 +0800 Subject: [PATCH] Add BASKET, BUG, FURS and ROCKT2. --- dec/BASKET.BAS | 204 ++++++++++++++++++++++++++++++++++++++ dec/BUG.BAS | 254 ++++++++++++++++++++++++++++++++++++++++++++++++ dec/FURS.BAS | 170 ++++++++++++++++++++++++++++++++ dec/ROCKT2.BAS | 244 ++++++++++++++++++++++++++++++++++++++++++++++ port/BUG.BAS | 254 ++++++++++++++++++++++++++++++++++++++++++++++++ port/FURS.BAS | 171 ++++++++++++++++++++++++++++++++ port/ROCKT2.BAS | 244 ++++++++++++++++++++++++++++++++++++++++++++++ 7 files changed, 1541 insertions(+) create mode 100644 dec/BASKET.BAS create mode 100644 dec/BUG.BAS create mode 100644 dec/FURS.BAS create mode 100644 dec/ROCKT2.BAS create mode 100644 port/BUG.BAS create mode 100644 port/FURS.BAS create mode 100644 port/ROCKT2.BAS diff --git a/dec/BASKET.BAS b/dec/BASKET.BAS new file mode 100644 index 0000000..56ea292 --- /dev/null +++ b/dec/BASKET.BAS @@ -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 diff --git a/dec/BUG.BAS b/dec/BUG.BAS new file mode 100644 index 0000000..e692bc4 --- /dev/null +++ b/dec/BUG.BAS @@ -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 diff --git a/dec/FURS.BAS b/dec/FURS.BAS new file mode 100644 index 0000000..bdf9d3e --- /dev/null +++ b/dec/FURS.BAS @@ -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!" diff --git a/dec/ROCKT2.BAS b/dec/ROCKT2.BAS new file mode 100644 index 0000000..4d66eb2 --- /dev/null +++ b/dec/ROCKT2.BAS @@ -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 diff --git a/port/BUG.BAS b/port/BUG.BAS new file mode 100644 index 0000000..4a4891f --- /dev/null +++ b/port/BUG.BAS @@ -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 diff --git a/port/FURS.BAS b/port/FURS.BAS new file mode 100644 index 0000000..b112975 --- /dev/null +++ b/port/FURS.BAS @@ -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 diff --git a/port/ROCKT2.BAS b/port/ROCKT2.BAS new file mode 100644 index 0000000..fa943e5 --- /dev/null +++ b/port/ROCKT2.BAS @@ -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