File HORSES.BA (BASIC source file)

Directory of image this file is from
This file as a plain text file

1 DIM V(10),U(10),T(10),M(8),O(8),H(8),B(8),P(6) 
2 RANDOMIZE \ PRINT "HORSE RACE" 
3 PRINT "EXAMPLE OF BET; 1,2,200,0 ."
4 REMARKABLY TRANSLATED TO OS8 BASIC BY KAY R. FISHER ...DEC
5 PRINT \ PRINT"      SEVENTH - 1 MILE, 3 YR. OLDS       POST 2:35"
6 PRINT
7 FOR I=1 TO 8 
8 B(I)=I \ GOSUB 164 
9 READ O(I) \ PRINT O(I);":1" 
10 M(I)=(100+50*O(I)) / (O(I)+1)
11 NEXT I 
12 PRINT
13 PRINT"ENTER HORSE(1-8);TO WIN,PLACE,SHOW(1,2,3);AND THE WAGER."
14 PRINT "AND 0 FOR NO MORE BETTING OR 1 OR MORE BETTING."
15 LET S = 0
16 PRINT
17 LET S = S + 1
18 PRINT"BET NO. ";S; 
19 INPUT T(S),U(S),V(S),Y1
20 LET T(S)=ABS(INT(T(S)))
21 IF T(S)>8  THEN 26\IF T(S)<1 THEN 26
23 LET U(S)=ABS(INT(U(S)))
24 IF U(S)>3 THEN 26 \ IF U(S)>0 THEN 29
26 PRINT"HORSE NO. OR WIN-PLACE-SHOW IN ERROR" \ GO TO 18 
28 IF V(S)<2 THEN 30
29 IF V(S)<=300 THEN 33 
30 PRINT"BET MUST BE >$2 AND <$300, BET AGAIN"; 
31 INPUT V(S) \ GO TO 28
33 IF Y1 = 1 THEN 17
35 PRINT \ PRINT"   THEY'RE OFF AND RUNNING -" \ PRINT
40 FOR I=1 TO 8\H(I)=0\NEXT I
57 FOR K=1 TO 8 
62 FOR J=1 TO 8\H(J)=H(J)+RND(0)*M(J)\NEXT J 
70 GO SUB140
71  D = H(B(1))
73 PRINT
75 GO SUB 198 
76 GO SUB 159 
80 NEXT K 
85 PRINT \ PRINT \ PRINT"$2 MUTUELS PAID:"
86 PRINT "            STRAIGHT    PLACE     SHOW" 
87 LET K = 0
88 FOR I = 1 TO 3 
89 GO SUB 165 
95 FOR J = I TO 3 
96 L=2*I+J-3
101 LET P(L)=1.5+.01*INT((O(B(I))*4/(J*(J+1))+RND(Z1))*100)
102 PRINT TAB(3+10*J);P(L);
103 NEXT J 
104 PRINT
105 NEXT I 
107 PRINT \ Q=0
108 FOR J=1 TO S 
109 PRINT "BET NO. ";J 
110 LET P=0
112  FOR I=1 TO 8\H(B(I))=I\NEXT I
114 IF U(J)< H(T(J)) THEN 122
116 P= .01*INT((V(J)*50)*P(U(J)+H(T(J))*2-3))  
118 PRINT "YOU COLLECT";P;"ON "; 
120 GO TO 126
122 IF H(T(J))>3 THEN 124 \ PRINT "NEXT TIME, BUY A SHOW"; \ GO TO 125 
124 PRINT "TEAR UP YOUR";
125 PRINT " TICKET ON "; 
126 I=0 \ B(0)=T(J) \ GOSUB 165 \ PRINT
127 Q=Q+P-V(J) 
128 NEXT J 
129 IF Q<0 THEN 132
130 PRINT "YOUR TOTAL WINNINGS AMOUNT TO $";Q \ STOP 
132 PRINT "YOUR TOTAL LOSSES AMOUNT TO $";ABS(Q) \ STOP
140 FOR I=8 TO 1 STEP -1 
142 FOR J=2 TO I 
144 W2=SGN(H(B(J-1))-H(B(J)))+2\IF W2=1GOTO 148\IF W2=3 GOTO 150 
146 IF RND(0)>.5 THEN 150
148  Y1=B(J-1) \ B(J-1)=B(J) \ B(J)=Y1
150 NEXT J 
152 NEXT I 
154 RETURN 
159 REM
161 PRINT"POS.  HORSE   LENGTHS BEHIND"
163 FOR I = 1 TO 8 
164 PRINT I; 
165IFB(I)=1GOTO186\IFB(I)=2GOTO184\IFB(I)=3GOTO182\IFB(I)=4GOTO180
166 IFB(I)=5GOTO178\IFB(I)=6GOTO176\IFB(I)=7GOTO174
172 PRINT "COALTOWN   "; \ GO TO 187 
174 PRINT "STYMIE     "; \ GO TO 187 
176 PRINT "GALLANT FOX"; \ GO TO 187 
178 PRINT "SEABISCUIT "; \ GO TO 187 
180 PRINT "ASSAULT    "; \ GO TO 187 
182 PRINT "WHIRLAWAY  "; \ GO TO 187 
184 PRINT "CITATION   "; \ GO TO 187 
186 PRINT "MAN O'WAR  "; 
187 IF K = 0 THEN 193 \ IF I > 1 THEN 191 
188 PRINT \ GO TO 192
191 PRINT .1*INT(D-H(B(I)))
192 NEXT I 
193 RETURN 
198 IF K=1GOTO204\IFK=2GOTO206\IFK=3GOTO208\IFK=4GOTO210\IFK=5GOTO212
199 IF K=6 GOTO 214\IFK=7 GOTO 202
200 PRINT "          FINISH" \ RETURN
202 PRINT"   COMING DOWN THE STRETCH -" \ RETURN 
204 PRINT"   AS THEY BREAK FROM THE GATE -" \ RETURN 
206 PRINT"   AT THE 1/4 MILE POLE -" \ RETURN
208 PRINT"   NEARING THE HALFWAY MARK -" \ RETURN
210 PRINT"   MIDWAY IN THE RACE -" \ RETURN
212 PRINT"   AT 5/8 OF A MILE -" \ RETURN
214 PRINT "   ROUNDING THE TURN -" \ RETURN
301 DATA 3,4,5,8,9,11,20,30
999 END



Feel free to contact me, David Gesswein djg@pdp8online.com with any questions, comments on the web site, or if you have related equipment, documentation, software etc. you are willing to part with.  I am interested in anything PDP-8 related, computers, peripherals used with them, DEC or third party, or documentation. 

PDP-8 Home Page   PDP-8 Site Map   PDP-8 Site Search