home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / simtel / cpmug / cpmug054.ark / HORSES.BAS < prev    next >
Encoding:
BASIC Source File  |  1984-04-29  |  3.2 KB  |  108 lines

  1. 1 DIM V(10),U(10),T(10),M(8),O(8),H(8),B(8),P(6)
  2. 2 RANDOMIZE : PRINT "HORSE RACE"
  3. 3 PRINT "EXAMPLE OF BET; 1,2,200,0 ."
  4. 5 PRINT : PRINT"      SEVENTH - 1 MILE, 3 YR. OLDS       POST 2:35"
  5. 6 PRINT
  6. 7 FOR I=1 TO 8
  7. 8 B(I)=I : GOSUB 164
  8. 9 READ O(I) : PRINT O(I)":1"
  9. 10 M(I)=(100+50*O(I)) / (O(I)+1)
  10. 11 NEXT I
  11. 12 RESTORE
  12. 13 PRINT:PRINT"ENTER HORSE(1-8);TO WIN,PLACE,SHOW(1,2,3);AND THE WAGER."
  13. 14 PRINT "AND 0 FOR NO MORE BETTING OR 1 OR MORE BETTING."
  14. 15 LET S = 0
  15. 16 PRINT
  16. 17 LET S = S + 1
  17. 18 PRINT"BET NO. ";S;
  18. 19 INPUT T(S),U(S),V(S),Y1
  19. 20 LET T(S)=ABS(INT(T(S)))
  20. 21 IF T(S)>8 OR T(S)<1 THEN 26
  21. 23 LET U(S)=ABS(INT(U(S)))
  22. 24 IF U(S)>3 THEN 26 ELSE IF U(S)>0 THEN 29
  23. 26 PRINT"HORSE NO. OR WIN-PLACE-SHOW IN ERROR" : GOTO 18
  24. 28 IF V(S)<2 THEN 30
  25. 29 IF V(S)<=300 THEN 33
  26. 30 PRINT"BET MUST BE >$2 AND <$300, BET AGAIN";
  27. 31 INPUT V(S) : GOTO 28
  28. 33 IF Y1 = 1 THEN 17
  29. 35 PRINT : PRINT"   THEY'RE OFF AND RUNNING -" : PRINT
  30. 40 FOR I=1 TO 8:H(I)=0:NEXT
  31. 57 FOR K=1 TO 8
  32. 62 FOR J=1 TO 8:H(J)=H(J)+RND(1)*M(J):NEXT
  33. 70 GOSUB140
  34. 71  D = H(B(1))
  35. 73 PRINT
  36. 75 GOSUB 198
  37. 76 GOSUB 159
  38. 80 NEXT K
  39. 85 PRINT : PRINT : PRINT"$2 MUTUELS PAID:"
  40. 86 PRINT "            STRAIGHT    PLACE     SHOW"
  41. 87 LET K = 0
  42. 88 FOR I = 1 TO 3
  43. 89 GOSUB 165
  44. 95 FOR J = I TO 3
  45. 96 L=2*I+J-3
  46. 101 LET P(L)=1.5+.01*INT((O(B(I))*4/(J*(J+1))+RND(Z1))*100)
  47. 102 PRINT TAB(3+10*J);P(L);
  48. 103 NEXT J
  49. 104 PRINT
  50. 105 NEXT I
  51. 107 PRINT
  52. 108 FOR J=1 TO S
  53. 109 PRINT "BET NO. ";J
  54. 110 LET P=0
  55. 112 FOR I=1 TO 8:H(B(I))=I:NEXT
  56. 114 IF U(J)< H(T(J)) THEN 122
  57. 116 P= .01*INT((V(J)*50)*P(U(J)+H(T(J))*2-3))
  58. 118 PRINT "YOU COLLECT"P"ON ";
  59. 120 GOTO 126
  60. 122 IF H(T(J))>3 THEN 124 : PRINT "NEXT TIME, BUY A SHOW"; : GOTO 125
  61. 124 PRINT "TEAR UP YOUR";
  62. 125 PRINT " TICKET ON ";
  63. 126 I=0 : B(0)=T(J) : GOSUB 165 : PRINT
  64. 127 Q=Q+P-V(J)
  65. 128 NEXT J
  66. 129 IF Q<0 THEN 132
  67. 130 PRINT "YOUR TOTAL WINNINGS AMOUNT TO $";Q :GOTO 134
  68. 132 PRINT "YOUR TOTAL LOSSES AMOUNT TO $";ABS(Q)
  69. 134 INPUT "WOULD YOU LIKE TO PRESS YOUR LUCK FURTHER";I$
  70. 138 IF I$="YES" THEN GOTO 5 ELSE STOP
  71. 140 FOR I=8 TO 1 STEP -1
  72. 142 FOR J=2 TO I
  73. 144 ON SGN(H(B(J-1))-H(B(J)))+2 GOTO 148,146,150
  74. 146 IF RND(1)>.5 THEN 150
  75. 148  Y1=B(J-1) : B(J-1)=B(J) : B(J)=Y1
  76. 150 NEXT J
  77. 152 NEXT I
  78. 154 RETURN
  79. 159 REM
  80. 161 PRINT"POS.  HORSE   LENGTHS BEHIND"
  81. 163 FOR I = 1 TO 8
  82. 164 PRINT I;
  83. 165 ON B(I) GOTO 186,184,182,180,178,176,174,172
  84. 172 PRINT "COALTOWN   "; : GOTO 187
  85. 174 PRINT "STYMIE     "; : GOTO 187
  86. 176 PRINT "GALLANT FOX"; : GOTO 187
  87. 178 PRINT "SEABISCUIT "; : GOTO 187
  88. 180 PRINT "ASSAULT    "; : GOTO 187
  89. 182 PRINT "WHIRLAWAY  "; : GOTO 187
  90. 184 PRINT "CITATION   "; : GOTO 187
  91. 186 PRINT "MAN O'WAR  ";
  92. 187 IF K = 0 THEN 193 ELSE IF I > 1 THEN 191
  93. 188 PRINT : GOTO 192
  94. 191 PRINT .1*INT(D-H(B(I)))
  95. 192 NEXT I
  96. 193 RETURN
  97. 198 ON K GOTO 204,206,208,210,212,214,202,200
  98. 200 PRINT "          FINISH" : RETURN
  99. 202 PRINT"   COMING DOWN THE STRETCH -" : RETURN
  100. 204 PRINT"   AS THEY BREAK FROM THE GATE -" : RETURN
  101. 206 PRINT"   AT THE 1/4 MILE POLE -" : RETURN
  102. 208 PRINT"   NEARING THE HALFWAY MARK -" : RETURN
  103. 210 PRINT"   MIDWAY IN THE RACE -" : RETURN
  104. 212 PRINT"   AT 5/8 OF A MILE -" : RETURN
  105. 214 PRINT "   ROUNDING THE TURN -" : RETURN
  106. 301 DATA 3,4,5,8,9,11,20,30
  107. 999 END
  108.