ChipMaster's bwBASIC This also includes history going back to v2.10. *WARN* some binary files might have been corrupted by CRLF.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

166 lines
4.5 KiB

  1. 10 PRINT TAB(33);"SLALOM"
  2. 20 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY"
  3. 30 PRINT:PRINT:PRINT
  4. 310 PRINT "HOW MANY GATES DOES THIS COURSE HAVE (1 TO 25)";
  5. 320 INPUT V
  6. 330 IF V>25 THEN 360
  7. 340 IF V<1 THEN 390
  8. 350 GOTO 1440
  9. 360 PRINT "25 IS THE LIMIT."
  10. 370 LET V=25
  11. 380 GOTO 1440
  12. 390 PRINT "TRY AGAIN,"
  13. 400 GOTO 310
  14. 410 PRINT "RATE YOURSELF AS A SKIER, (1=WORST, 3=BEST)";
  15. 420 INPUT A
  16. 430 IF A<1 THEN 460
  17. 440 IF A>3 THEN 460
  18. 450 GOTO 480
  19. 460 PRINT "THE BOUNDS ARE 1-3"
  20. 470 GOTO 410
  21. 480 PRINT"THE STARTER COUNTS DOWN...5...4...3...2...1...GO!";
  22. 490 REM
  23. 500 LET T=0
  24. 510 LET S=INT(RND(1)*(18-9)+9)
  25. 520 PRINT
  26. 525 PRINT "YOU'RE OFF!"
  27. 530 FOR O=1 TO V
  28. 540 READ Q
  29. 550 PRINT
  30. 555 PRINT "HERE COMES GATE #";STR$(O);":"
  31. 560 PRINT S;"M.P.H."
  32. 570 LET S1=S
  33. 580 PRINT "OPTION";
  34. 590 INPUT O1
  35. 600 IF O1=0 THEN 970
  36. 610 IF O1>8 THEN 1420
  37. 620 IF O1<1 THEN 1420
  38. 630 GOSUB 990
  39. 640 IF S<7 THEN 1390
  40. 650 LET T=T+(Q-S+1)
  41. 660 IF S>Q THEN 1630
  42. 670 NEXT O
  43. 680 PRINT:PRINT "YOU TOOK";(T+RND(1));"SECONDS."
  44. 690 LET M=T
  45. 700 LET M=M/V
  46. 710 IF M<1.5-(A*.1) THEN 1650
  47. 720 IF M<2.9-(A*.1) THEN 1680
  48. 730 IF M<4.4-(A*.01) THEN 1710
  49. 740 PRINT:PRINT "DO YOU WANT TO RACE AGAIN";
  50. 750 INPUT B$
  51. 760 REM
  52. 770 IF B$="NO" THEN 1740
  53. 780 IF B$="YES" THEN 480
  54. 790 PRINT "PLEASE TYPE 'YES' OR 'NO'"
  55. 800 GOTO 740
  56. 810 STOP
  57. 820 PRINT
  58. 825 PRINT "*** SLALOM: THIS IS THE 1976 WINTER OLYMPIC GIANT SLALOM. YOU ARE"
  59. 830 PRINT " THE AMERICAN TEAM'S ONLY HOPE OF A GOLD MEDAL."
  60. 840 PRINT
  61. 845 PRINT " 0 -- TYPE THIS IS YOU WANT TO SEE HOW LONG YOU'VE TAKEN."
  62. 850 PRINT " 1 -- TYPE THIS IF YOU WANT TO SPEED UP A LOT."
  63. 860 PRINT " 2 -- TYPE THIS IF YOU WANT TO SPEED UP A LITTLE."
  64. 870 PRINT " 3 -- TYPE THIS IF YOU WANT TO SPEED UP A TEENSY."
  65. 880 PRINT " 4 -- TYPE THIS IF YOU WANT TO KEEP GOING THE SAME SPEED."
  66. 890 PRINT " 5 -- TYPE THIS IF YOU WANT TO CHECK A TEENSY."
  67. 900 PRINT " 6 -- TYPE THIS IF YOU WANT TO CHECK A LITTLE."
  68. 910 PRINT " 7 -- TYPE THIS IF YOU WANT TO CHECK A LOT."
  69. 920 PRINT " 8 -- TYPE THIS IF YOU WANT TO CHEAT AND TRY TO SKIP A GATE."
  70. 930 PRINT
  71. 935 PRINT " THE PLACE TO USE THESE OPTIONS IS WHEN THE COMPUTER ASKS:"
  72. 940 PRINT
  73. 945 PRINT "OPTION?"
  74. 950 PRINT
  75. 955 PRINT " GOOD LUCK!"
  76. 957 PRINT
  77. 960 GOTO 1470
  78. 970 PRINT "YOU'VE TAKEN";(T+RND(1));"SECONDS."
  79. 980 GOTO 580
  80. 990 ON O1 GOTO 1130,1010,1170,1080,1190,1100,1150,1210
  81. 1000 STOP
  82. 1010 LET S=S+INT(RND(1)*(5-3)+3)
  83. 1020 PRINT S;"M.P.H."
  84. 1030 IF S>Q THEN 1290
  85. 1040 IF S>Q-1 THEN 1060
  86. 1050 RETURN
  87. 1060 PRINT "CLOSE ONE!"
  88. 1070 RETURN
  89. 1080 PRINT S;"M.P.H."
  90. 1090 GOTO 1030
  91. 1100 LET S=S-INT(RND(1)*(5-3)+3)
  92. 1110 PRINT S;"M.P.H."
  93. 1120 GOTO 1030
  94. 1130 LET S=S+INT(RND(1)*(10-5)+5)
  95. 1140 GOTO 1080
  96. 1150 LET S=S-INT(RND(1)*(10-5)+5)
  97. 1160 GOTO 1110
  98. 1170 LET S=S+INT(RND(1)*(4-1)+1)
  99. 1180 GOTO 1110
  100. 1190 LET S=S-INT(RND(1)*(4-1)+1)
  101. 1200 GOTO 1110
  102. 1210 PRINT "***CHEAT"
  103. 1220 IF RND(1)<.7 THEN 1260
  104. 1230 PRINT "YOU MADE IT!"
  105. 1240 LET T=T+1.5
  106. 1250 RETURN
  107. 1260 PRINT "AN OFFICIAL CAUGHT YOU!"
  108. 1270 PRINT "YOU TOOK";(T+RND(1));"SECONDS."
  109. 1280 GOTO 740
  110. 1290 IF RND(1)<((S-Q)*.1)+.2 THEN 1320
  111. 1300 PRINT "YOU WENT OVER THE NAXIMUM SPEED AND MADE IT!"
  112. 1310 RETURN
  113. 1320 PRINT "YOU WENT OVER THE MAXIMUM SPEED AND ";
  114. 1330 IF RND(1)<.5 THEN 1370
  115. 1340 PRINT "WIPED OUT!"
  116. 1350 PRINT "YOU TOOK";(T+RND(1));"SECONDS"
  117. 1360 GOTO 740
  118. 1370 PRINT "SNAGGED A FLAG!"
  119. 1380 GOTO 1350
  120. 1390 PRINT "LET'S BE REALISTIC, OK? LET'S GO BACK AND TRY AGAIN..."
  121. 1400 LET S=S1
  122. 1410 GOTO 550
  123. 1420 PRINT "WHAT?"
  124. 1430 GOTO 580
  125. 1440 PRINT
  126. 1445 PRINT "TYPE ";CHR$(34);"INS";CHR$(34);" FOR INSTRUCTIONS"
  127. 1450 PRINT "TYPE ";CHR$(34);"MAX";CHR$(34);" FOR APPROXIMATE MAXIMUM SPEEDS"
  128. 1460 PRINT "TYPE ";CHR$(34);"RUN";CHR$(34);" FOR THE BEGINNING OF THE RACE"
  129. 1470 PRINT "COMMAND--";
  130. 1480 INPUT A$
  131. 1490 REM
  132. 1500 IF A$="INS" THEN 820
  133. 1510 IF A$="MAX" THEN 1550
  134. 1520 IF A$="RUN" THEN 410
  135. 1530 PRINT CHR$(34);A$;CHR$(34);" IS AN ILLEGAL COMMAND--RETRY";
  136. 1540 GOTO 1480
  137. 1550 PRINT "GATE MAX"
  138. 1560 PRINT " # M.P.H."
  139. 1570 PRINT"----------"
  140. 1580 FOR B=1 TO V
  141. 1590 READ Q
  142. 1600 PRINT B;" ";Q
  143. 1610 NEXT B
  144. 1620 GOTO 1470
  145. 1630 LET T=T+.5
  146. 1640 GOTO 670
  147. 1650 PRINT "YOU WON A GOLD MEDAL!"
  148. 1660 LET GG(1)=GG(1)+1
  149. 1670 GOTO 1730
  150. 1680 PRINT "YOU WON A SILVER MEDAL"
  151. 1690 LET SS(1)=SS(1)+1
  152. 1700 GOTO 1730
  153. 1710 PRINT "YOU WON A BRONZE MEDAL"
  154. 1720 LET BB(1)=BB(1)+1
  155. 1730 GOTO 740
  156. 1740 PRINT "THANKS FOR THE RACE"
  157. 1750 IF GG(1)<1 THEN 1770
  158. 1760 PRINT "GOLD MEDALS:";GG(1)
  159. 1770 IF SS(1)<1 THEN 1790
  160. 1780 PRINT "SILVER MEDALS:";SS(1)
  161. 1790 IF BB(1)<1 THEN 1830
  162. 1800 PRINT "BRONZE MEDALS:";BB(1)
  163. 1810 DATA 14,18,26,29,18,25,28,32,29,20,29,29,25,21,26,29,20,21,20
  164. 1820 DATA 18,26,25,33,31,22
  165. 1830 END