home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / cpm / basic / roulette.bas < prev    next >
BASIC Source File  |  1994-07-13  |  7KB  |  243 lines

  1. 1000 PRINT TAB(32);"ROULETTE"
  2. 1010 PRINT TAB(15);"CREATIVE COMPUTING  MORRISTOWN, NEW JERSEY"
  3. 1020 PRINT:PRINT:PRINT
  4. 1030 PRINT "ENTER THE CURRENT DATE (AS IN 'SEPTEMBER 23, 1987') -";
  5. 1040 INPUT D$,E$
  6. 1050  REM-ROULETTE
  7. 1060  REM-DAVID JOSLIN
  8. 1070  PRINT "WELCOME TO THE ROULETTE TABLE"
  9. 1080  PRINT 
  10. 1090  PRINT "DO YOU WANT INSTRUCTIONS";
  11. 1100 INPUT Y$
  12. 1110 IF LEFT$(Y$,1)="N" THEN 1600
  13. 1120  PRINT 
  14. 1130  PRINT "THIS IS THE BETTING LAYOUT"
  15. 1140  PRINT "  (*=RED)"
  16. 1150  PRINT 
  17. 1160  PRINT " 1*    2     3*"
  18. 1170  PRINT " 4     5*    6 "
  19. 1180  PRINT " 7*    8     9*"
  20. 1190  PRINT "10    11    12*"
  21. 1200  PRINT "---------------"
  22. 1210  PRINT "13    14*   15 "
  23. 1220  PRINT "16*   17    18*"
  24. 1230  PRINT "19*   20    21*"
  25. 1240  PRINT "22    23*   24 "
  26. 1250  PRINT "---------------"
  27. 1260  PRINT "25*   26    27*"
  28. 1270  PRINT "28    29    30*"
  29. 1280  PRINT "31    32*   33 "
  30. 1290  PRINT "34*   35    36*"
  31. 1300  PRINT "---------------"
  32. 1310  PRINT "    00    0    "
  33. 1320  PRINT :INPUT "PRESS <RETURN> TO GO ON";X
  34. 1330  PRINT "TYPES OF BETS"
  35. 1340  PRINT 
  36. 1350  PRINT "THE NUMBERS 1 TO 36 SIGNIFY A STRAIGHT BET"
  37. 1360  PRINT "ON THAT NUMBER"
  38. 1370  PRINT "THESE PAY OFF 35:1"
  39. 1380  PRINT 
  40. 1390  PRINT "THE 2:1 BETS ARE:"
  41. 1400  PRINT " 37) 1-12     40) FIRST COLUMN"
  42. 1410  PRINT " 38) 13-24    41) SECOND COLUMN"
  43. 1420  PRINT " 39) 25-36    42) THIRD COLUMN"
  44. 1430  PRINT 
  45. 1440  PRINT "THE EVEN MONEY BETS ARE:"
  46. 1450  PRINT " 43) 1-18     46) ODD"
  47. 1460  PRINT " 44) 19-36    47) RED"
  48. 1470  PRINT " 45) EVEN     48) BLACK"
  49. 1480  PRINT 
  50. 1490  PRINT " 49)0 AND 50)00 PAY OFF 35:1"
  51. 1500  PRINT " NOTE: 0 AND 00 DO NOT COUNT UNDER ANY"
  52. 1510  PRINT "       BETS EXCEPT THEIR OWN"
  53. 1520  PRINT :INPUT "PRESS <RETURN> TO GO ON";X
  54. 1530  PRINT "WHEN I ASK FOR EACH BET,TYPE THE NUMBER"
  55. 1540  PRINT "AND THE AMOUNT,SEPERATED BY A COMMA"
  56. 1550  PRINT "FOR EXAMPLE:TO BET $500 ON BLACK,TYPE 48,500"
  57. 1560  PRINT "WHEN I ASK FOR A BET"
  58. 1570  PRINT 
  59. 1580  PRINT "MINIMUM BET IS $5,MAXIMUM IS $500"
  60. 1590  PRINT 
  61. 1600  REM-PROGRAM BEGINS HERE
  62. 1610  REM-TYPE OF BET(NUMBER) ODDS
  63. 1620 REM
  64. 1630  DIM B(100),C(100),T(100),X(38)
  65. 1640  DIM A(50)
  66. 1650 FOR I=1 TO 38: X(I)=0: NEXT I: REM  MAT X=ZER
  67. 1660  P=1000
  68. 1670  D=100000!
  69. 1680  PRINT "HOW MANY BETS";
  70. 1690  INPUT Y
  71. 1700  IF Y<1 OR Y<>INT(Y) THEN 1680
  72. 1710 FOR I=1 TO 50: A(I)=0: NEXT I: REM  MAT A=ZER
  73. 1720  FOR C=1 TO Y
  74. 1730  PRINT "NUMBER";C;
  75. 1740  INPUT X,Z
  76. 1750  B(C)=Z
  77. 1760  T(C)=X
  78. 1770  IF X<1 OR X>50 OR X<>INT(X) THEN 1730
  79. 1780  IF Z<1 OR Z<>INT(Z) THEN 1730
  80. 1790  IF Z<5 OR Z>500 THEN 1730
  81. 1800  IF A(X)=0 THEN 1830
  82. 1810  PRINT "YOU MADE THAT BET ONCE ALREADY,DUM-DUM"
  83. 1820  GOTO 1730
  84. 1830  A(X)=1
  85. 1840  NEXT C
  86. 1850  PRINT "SPINNING"
  87. 1860  PRINT 
  88. 1870  PRINT 
  89. 1880  S=INT(RND(1)*100)
  90. 1890  IF S=0 OR S>38 THEN 1880
  91. 1900  X(S)=X(S)+1
  92. 1910  IF S<37 THEN 1970
  93. 1920  IF S=37 THEN 1950
  94. 1930  PRINT "00"
  95. 1940  GOTO 2070
  96. 1950  PRINT "0"
  97. 1960  GOTO 2070
  98. 1970  RESTORE 
  99. 1980 FOR I1=1 TO 18
  100. 1990  READ R
  101. 2000  IF R=S THEN 2050
  102. 2010 NEXT I1
  103. 2020  A$="BLACK"
  104. 2030  PRINT S;A$
  105. 2040  GOTO 2070
  106. 2050  A$="RED"
  107. 2060  GOTO 2030
  108. 2070  PRINT 
  109. 2080  FOR C=1 TO Y
  110. 2090  IF T(C)<37 THEN 2760
  111. 2100 ON T(C)-36 GOTO 2140,2240,2270,2300,2350,2400,2450,2520,2550
  112. 2110  ON T(C)-45 GOTO 2580,2610,2680
  113. 2120  GOTO 2760
  114. 2130  STOP 
  115. 2140  REM  1-12(37) 2:1
  116. 2150  IF S <= 12 THEN 2200
  117. 2160  PRINT "YOU LOSE";B(C);"DOLLARS ON BET ";C
  118. 2170  D=D+B(C)
  119. 2180  P=P-B(C)
  120. 2190  GOTO 2230
  121. 2200  PRINT "YOU WIN ";B(C)*2;"DOLLARS ON BET "C
  122. 2210  D=D-B(C)*2
  123. 2220  P=P+B(C)*2
  124. 2230  GOTO 2860
  125. 2240  REM  13-24(38) 2:1
  126. 2250  IF S>12 AND S<25 THEN 2200
  127. 2260  GOTO 2160
  128. 2270  REM  25-36(39) 2:1
  129. 2280  IF S>24 AND S<37 THEN 2200
  130. 2290  GOTO 2160
  131. 2300  REM  FIRST COLUMN(40) 2:1
  132. 2310  FOR I=1 TO 34 STEP 3
  133. 2320  IF S=I THEN 2200
  134. 2330  NEXT I
  135. 2340  GOTO 2160
  136. 2350  REM  SECOND COLUMN(41) 2:1
  137. 2360  FOR I=2 TO 35 STEP 3
  138. 2370  IF S=I THEN 2200
  139. 2380  NEXT I
  140. 2390  GOTO 2160
  141. 2400  REM  THIRD COLUMN(42) 2:1
  142. 2410  FOR I=3 TO 36 STEP 3
  143. 2420  IF S=I THEN 2200
  144. 2430  NEXT I
  145. 2440  GOTO 2160
  146. 2450  REM  1-18(43) 1:1
  147. 2460  IF S<19 THEN 2480
  148. 2470  GOTO 2160
  149. 2480  PRINT "YOU WIN ";B(C);"DOLLARS ON BET ";C
  150. 2490  D=D-B(C)
  151. 2500  P=P+B(C)
  152. 2510  GOTO 2860
  153. 2520  REM  19-36(44) 1:1
  154. 2530  IF S<37 AND S>18 THEN 2480
  155. 2540  GOTO 2160
  156. 2550  REM  EVEN(45) 1:1
  157. 2560  IF S/2=INT(S/2) AND S<37 THEN 2480
  158. 2570  GOTO 2160
  159. 2580  REM  ODD(46) 1:1
  160. 2590  IF S/2<>INT(S/2) AND S<37 THEN 2480
  161. 2600  GOTO 2160
  162. 2610  REM  RED(47) 1:1
  163. 2620  RESTORE 
  164. 2630  FOR I=1 TO 18
  165. 2640  READ R
  166. 2650  IF S=R THEN 2480
  167. 2660  NEXT I
  168. 2670  GOTO 2160
  169. 2680  REM  BLACK(48) 1:1
  170. 2690  RESTORE 
  171. 2700  FOR I=1 TO 18
  172. 2710  READ R
  173. 2720  IF S=R THEN 2160
  174. 2730  NEXT I
  175. 2740  IF S>36 THEN 2160
  176. 2750  GOTO 2480
  177. 2760  REM--1TO36,0,00(1-36,49,50)35:1
  178. 2770  IF T(C)<49 THEN 2810
  179. 2780  IF T(C)=49 AND S=37 THEN 2830
  180. 2790  IF T(C)=50 AND S=38 THEN 2830
  181. 2800  GOTO 2160
  182. 2810  IF T(C)=S THEN 2830
  183. 2820  GOTO 2160
  184. 2830  PRINT "YOU WIN ";B(C)*35;"DOLLARS ON BET";C
  185. 2840  D=D-B(C)*35
  186. 2850  P=P+B(C)*35
  187. 2860 NEXT C
  188. 2870  PRINT 
  189. 2880  PRINT "TOTALS:","ME","YOU"
  190. 2890  PRINT " ",D,P
  191. 2900  IF P>0 THEN 2930
  192. 2910  PRINT "OOPS! YOU JUST SPENT YOUR LAST DOLLAR"
  193. 2920  GOTO 3240
  194. 2930  IF D>0 THEN 2970
  195. 2940  PRINT "YOU BROKE THE HOUSE!"
  196. 2950  P=101000!
  197. 2960  GOTO 3010
  198. 2970  PRINT "AGAIN";
  199. 2980 INPUT Y$
  200. 2990 IF LEFT$(Y$,1)="Y" THEN 1680
  201. 3000  DATA 1,3,5,7,9,12,14,16,18,19,21,23,25,27,30,32,34,36
  202. 3010  IF P<1 THEN 3240
  203. 3020  PRINT "TO WHOM SHALL I MAKE THE CHECK";
  204. 3030  INPUT B$
  205. 3040  PRINT 
  206. 3050 FOR I=1 TO 62: PRINT "-";: NEXT I: REM PRINT 72 DASHES
  207. 3060  PRINT TAB(50)"CHECK NO. ";INT(RND(1)*100)
  208. 3070  PRINT 
  209. 3080  GOSUB 3280
  210. 3090 PRINT TAB(40);M$
  211. 3100  PRINT 
  212. 3110  PRINT 
  213. 3120  PRINT "PAY TO THE ORDER OF-----";B$;"-----$ ";
  214. 3130  PRINT P
  215. 3140  PRINT 
  216. 3150  PRINT 
  217. 3160  PRINT TAB(10),"THE MEMORY BANK OF VIRGINIA"
  218. 3170  PRINT 
  219. 3180  PRINT TAB(40),"THE COMPUTER"
  220. 3190  PRINT TAB(40)"----------X-----"
  221. 3200  PRINT 
  222. 3210 FOR I=1 TO 62: PRINT "-";: NEXT I
  223. 3220  PRINT "COME BACK SOON!"
  224. 3230  GOTO 3260
  225. 3240  PRINT "THANKS FOR YOUR MONEY"
  226. 3250  PRINT "I'LL USE IT TO BUY A SOLID GOLD ROULETTE WHEEL"
  227. 3260  PRINT
  228. 3270  GOTO 3380
  229. 3280 REM
  230. 3290 REM     THIS ROUTINE RETURNS THE CURRENT DATE IN M$
  231. 3300 REM     IF YOU HAVE SYSTEM FUNCTIONS TO HANDLE THIS
  232. 3310 REM     THEY CAN BE USED HERE.  HOWEVER IN THIS
  233. 3320 REM     PROGRAM, WE JUST INPUT THE DATE AT THE START
  234. 3330 REM     THE GAME
  235. 3340 REM
  236. 3350 REM     THE DATE IS RETURNED IN VARIABLE M$
  237. 3360 M$=D$+", "+E$
  238. 3370 RETURN
  239. 3380 REM RUN"MENU
  240. 3390 SYSTEM
  241. 
  242. 3340 REM
  243. 3