10 REM HRACS.ECB 15 REM ...HORSERACE...from 90/60 BASIC U.E.C.,7-27-79 R.E.H. 20 DIM B$(100),H$(16),Z$(32) 30 LET K$="&K": LET J$="&J": PRINT K$ 40 PRINT TAB(25);"*** SOUTH PORTLAND RACETRACK ***";J$;J$ 50 PRINT TAB(12);" =====(0>" 60 PRINT TAB(13);"/ : / : ";J$ 70 PRINT TAB(22);" =====(0>" 80 PRINT TAB(23);"/ : / : ";J$ 90 PRINT TAB(19);" =====(0>" 100 PRINT TAB(20);"/ : / : ";J$ 110 LET X9=RND(0) 120 LET M=INT(RND(0)*5)+1 130 PRINT J$;TAB(15);"WELCOME TO 'HORSERACE'";J$ 140 LET B$=" ": LET B$=B$+B$+B$+B$+B$ 150 LET Z$=" UTS700 HORSE RACE": GOSUB 1900 160 FOR X=1 TO 10: LET M(X)=0: NEXT X 170 INPUT (1,0)"DO YOU WANT DIRECTIONS ? (Y OR N) ---=>",I$ 180 IF LEN(I$)=0 THEN 270 190 IF I$(1,1)="N" THEN 270 200 PRINT K$: PRINT TAB(20);"*** HORSERACE ***";J$;J$ 210 PRINT " UP TO 10 PEOPLE MAY PLAY UTS700 HORSERACE.";J$ 220 PRINT " A TABLE OF ODDS WILL BE PRINTED ON THE BETTING FOR EACH HORSE" 230 PRINT "YOU MAY BET ANY (POSITIVE) AMOUNT UNDER $ 100,000 ON ONE HORSE.";J$ 240 PRINT " HORSES WILL BE SHOWN BY THEIR NUMBER ON THE TRACK DISPLAY." 250 PRINT " THE STARTING GATE WILL BE SHOWN AT THE TOP. THEN THE HORSES" 260 PRINT " WILL RACE 'DOWN' THE SCREEN. (OR PRINTER ALSO)";J$ 270 PRINT : INPUT " HOW MANY PEOPLE WANT TO BET ? (1 TO 10) ---=>",B9 280 IF B9<1 THEN 2000 ELSE PRINT J$;J$ 290 IF B9>10 THEN PRINT " NO MORE THAN 10 PEOPLE PLEASE." 300 IF B9>10 THEN 270 310 PRINT : PRINT TAB(20);"PLEASE ENTER YOUR NAMES (10 LETTERS MAX.)";J$;J$ 320 FOR A=1 TO B9 330 PRINT "...BETTOR =";A;: INPUT " ---=>",I$ 340 IF LEN(I$)>0 THEN 360 350 LET I$="PERSON "+CHR$(A+48): GOTO 380 360 LET Z=LEN(I$): IF Z>10 THEN LET Z=10 370 LET L=(A*10)-9: LET B$(L,L+Z-1)=I$(1,Z) 380 NEXT A 390 PRINT J$;J$ 400 PRINT TAB(9);"*** HORSE ***";TAB(29);"NUMBER";TAB(45);"ODDS";J$: LET C9=0 410 FOR A=1 TO 8 420 LET C(A)=INT(RND(0)*10)+1: IF A=1 THEN LET C(A)=INT(RND(0)*2)+8 430 LET D(A)=0: LET C9=C9+C(A) 440 NEXT A 450 FOR H=1 TO 8 460 LET Z=(H*10)-9 470 PRINT TAB(3);: GOSUB 1400: PRINT H$; 480 PRINT TAB(30);H;TAB(40);: PRINT %ZC9F3;C9/C(H);TAB(47);" : 1" 490 NEXT H 500 PRINT "-------------------------------------------------------------";J$;J$ 510 PRINT "PLACE YOUR BETS...( HORSE NO. , AMOUNT )...INPUT 2 NUMBERS" 520 FOR J=1 TO B9 530 LET Z=(J*10)-9: PRINT B$(Z,Z+9);" ---=>"; 540 INPUT H(J),B(J) 550 IF B(J)<1 THEN 570 560 IF B(J)<100000 THEN 580 570 PRINT : PRINT "*** YOU CAN'T DO THAT# ... TRY AGAIN": GOTO 530 580 LET M(J)=M(J)-B(J) 590 NEXT J 600 LET H=INT(RND(0)*5)+1: IF O(8)>0 THEN 660 610 IF H=1 THEN LET Z$="HORSES ARE NOW IN THE START BOX" 620 IF H=2 THEN LET Z$="THEY'RE LINING UP AT THE GATE. " 630 IF H=3 THEN LET Z$=" WE'RE ABOUT READY TO START " 640 IF H=4 THEN LET Z$=" THE HORSES ARE NOW AT THE GATE." 650 IF H=5 THEN LET Z$="WE ARE ALMOST READY TO BEGIN. " 660 LET X=H: IF O(8)=0 THEN 790 ELSE LET H=O(9-H) 670 GOSUB 1400: LET Z=INT(RND(0)*7)+1: LET X$=" A NOSE" 680 IF Z=1 THEN LET X$=" A HAIR" 690 IF Z=2 THEN LET X$=" A HEAD" 700 IF Z=3 THEN LET X$=" A STEP" 710 IF Z=4 THEN LET X$=" A NECK" 720 IF Z=5 THEN LET X$=" A TOE " 730 IF Z=6 THEN LET X$=" A HALF" 740 IF X=1 THEN LET Z$=H$+"IN 1ST BY"+X$ 750 IF X=2 THEN LET Z$=H$+"SECOND BY"+X$ 760 IF X=3 THEN LET Z$=H$+" THIRD BY"+X$ 770 IF X=4 THEN LET Z$=H$+"IN 4TH BY"+X$ 780 IF X=5 THEN LET Z$=H$+" FIFTH BY"+X$ 790 GOSUB 1900 800 FOR I=1 TO 8 810 LET O=I: LET O(I)=O: LET P(O(I))=INT(RND(0)*57)+1 820 IF P(O(I))<10 THEN LET Z=1 830 IF P(O(I))<10 THEN 910 840 LET D=INT(C9/C(I)+.5) 850 LET P(O(I))=7 860 IF P(O(I))1 THEN 1080 1060 LET D5=D(O(I))-1: IF D5<1 THEN 1120 1070 GOTO 1090 1080 LET D5=D(O(I))-D(O(I-1)): IF D5=0 THEN 1120 1090 FOR A=1 TO D5 1100 PRINT : IF D(O(I))>25 THEN 1150 1110 NEXT A 1120 PRINT TAB(8);O(I); 1130 NEXT I 1140 FOR A=1 TO 23-D8: PRINT : NEXT A 1150 IF D8<23 THEN 600 ELSE PRINT 1160 PRINT TAB(7);"XXXX FINISH XXXX": OUT 234,7: OUT 235,1 1170 FOR J=1 TO 8: PRINT O(J): NEXT J 1180 PRINT "********************";J$ 1190 PRINT "... AND THEY CROSS THE FINISH LINE IN THE FOLLOWING ORDER:";J$ 1200 FOR I=8 TO 1 STEP -1 1210 LET H=O(I) 1220 PRINT " HORSE NO.";H;TAB(20);: GOSUB 1400: PRINT H$ 1230 NEXT I 1240 PRINT 1250 FOR J=1 TO B9 1260 IF H(J)<>O(8) THEN 1300 1270 LET Z=(J*10)-9: LET N=H(J) 1280 PRINT B$(Z,Z+9);" WINS ";%$C9F2;(C9/C(N))*B(J) 1290 LET M(J)=M(J)+((C9/C(N))*B(J)) 1300 NEXT J 1310 PRINT " = THE NEXT SET OF HORSES ARE READY TO RUN =" 1320 LET O(8)=0 1330 OUT 235,0 1340 INPUT " CARE TO STAY AROUND FOR THE NEXT RACE ? ---=>",I$ 1350 IF LEN(I$)=0 THEN 2000 1360 LET M=M+1 1370 IF M>5 THEN LET M=1 1380 IF I$(1,1)="Y" THEN 270 1390 GOTO 2000 1400 IF M>1 THEN 1500: REM ...HORSE NAMES SET =1 1410 IF H=1 THEN LET H$="WATERGATE BANDIT" 1420 IF H=2 THEN LET H$="BARNYARD HEAP " 1430 IF H=3 THEN LET H$="MTS RUNAROUND " 1440 IF H=4 THEN LET H$="MOBY BELLY NELLY" 1450 IF H=5 THEN LET H$="SWEET RIZZO " 1460 IF H=6 THEN LET H$="KARNOUGH MAP " 1470 IF H=7 THEN LET H$="UNIVAC-TAKES-ALL" 1480 IF H=8 THEN LET H$="RAMBLING IDIOT " 1490 RETURN 1500 IF M>2 THEN 1600: REM ...HORSE NAMES SET =2 1510 IF H=1 THEN LET H$="THROAT KNIFE GAP" 1520 IF H=2 THEN LET H$="CHICKEN HORSE " 1530 IF H=3 THEN LET H$="NEW YORK REFUGEE" 1540 IF H=4 THEN LET H$="UTS700 FAVORITE " 1550 IF H=5 THEN LET H$="BLACK LIGHTNING " 1560 IF H=6 THEN LET H$="BROWNSPOT SHORTS" 1570 IF H=7 THEN LET H$="RUBBER BALLS " 1580 IF H=8 THEN LET H$="ARABIAN OILWELL " 1590 RETURN 1600 IF M>3 THEN 1700: REM ...HORSE NAMES SET =3 1610 IF H=1 THEN LET H$="*BAT BITCH* " 1620 IF H=2 THEN LET H$="CONFEDERATE HERO" 1630 IF H=3 THEN LET H$="CHICAGO FIRE " 1640 IF H=4 THEN LET H$="CHARLIES ANGEL " 1650 IF H=5 THEN LET H$="BLUE LEMON " 1660 IF H=6 THEN LET H$="BROWNBUTT BAGELS" 1670 IF H=7 THEN LET H$="MOTHERS JUGS " 1680 IF H=8 THEN LET H$="BLAZING SADDLES " 1690 RETURN 1700 IF M>4 THEN 1800: REM ...HORSE NAMES SET =4 1710 IF H=1 THEN LET H$="SEATTLE SLEW " 1720 IF H=2 THEN LET H$="ELECTRIC JOCK " 1730 IF H=3 THEN LET H$="BALLS AFIRE " 1740 IF H=4 THEN LET H$="HEMI HEAVEN " 1750 IF H=5 THEN LET H$="TURKEY LIPS " 1760 IF H=6 THEN LET H$="INCREDIBLE BULK " 1770 IF H=7 THEN LET H$="HOO-FLUNG-DUNG " 1780 IF H=8 THEN LET H$="CRAP IN THE GAP " 1790 RETURN 1800 REM ...HORSE NAMES SET =5 1810 IF H=1 THEN LET H$="MAN-O-WAR " 1820 IF H=2 THEN LET H$="HAVA HEAD CRASH " 1830 IF H=3 THEN LET H$="MANDOLIN " 1840 IF H=4 THEN LET H$="SHORT CIRCUIT " 1850 IF H=5 THEN LET H$="CHINA DOLL " 1860 IF H=6 THEN LET H$="MEAT BALL " 1870 IF H=7 THEN LET H$="JUNGLE BUNNY " 1880 IF H=8 THEN LET H$="KENTUCKY WOMAN " 1890 RETURN 1900 REM .......OUTPUT TO 5' CRT SUBROUTINE........ 1910 LET Z$=Z$+" " 1920 OUT 234,7: REM .....CLEAR SCREEN OF 5' CRT 1930 REM ........NOTE: NO LESS THEN 32 CHARACTERS MUST BE SENT TO CRT 1940 FOR V=1 TO 32 1950 LET V1=ASC(Z$(V,V)): REM .....CONVERT ONE Z$ STRING CHAR. TO A NUMBER 1960 OUT 234,V1: REM .....OUTPUT ONE CHAR. FROM Z$ STRING TO CRT 1970 NEXT V 1980 RETURN 1990 REM ................................................................ 2000 PRINT K$;TAB(15);"=== SOUTH PORTLAND HIGH TRACKS ARE NOW CLOSING ===" 2010 PRINT J$;J$;J$ 2020 FOR N=1 TO B9 2030 LET Z=(N*10)-9 2040 PRINT B$(Z,Z+9); 2050 IF M(N)>0 THEN PRINT " AHEAD BY"; ELSE PRINT " LOST "; 2060 PRINT TAB(25);%$C15F2;M(N) 2070 NEXT N 2080 REM .....THE END.....