|
DataMuseum.dkPresents historical artifacts from the history of: CP/M |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about CP/M Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 3840 (0xf00) Types: TextFile Names: »HORSE.BAS«
└─⟦016ef1d53⟧ Bits:30005210 BASIC Demo └─ ⟦this⟧ »HORSE.BAS«
10 WIDTH 80 20 ON ERROR GOTO 1550 30 PRINT TAB(31); "HORSERACE" 40 PRINT 50 PRINT:PRINT 60 DIM S(8) 70 PRINT"WELCOME TO THE RACETRACK" 80 PRINT"DO YOU WANT DIRECTIONS (Y OR N)"; 90 INPUT X$ 100 IF X$="N" THEN 150 110 PRINT"UP TO 10 MAY PLAY. A TABLE OF ODDS WILL BE PRINTED. YOU" 120 PRINT"MAY BET ANY POSITIVE AMOUNT UNDER 100000 ON ONE HORSE." 130 PRINT"DURING THE RACE, A HORSE WILL BE SHOWN BY ITS" 140 PRINT"NUMBER. THE HORSES RACE DOWN THE SCREEN!" 150 PRINT 160 RANDOMIZE 170 PRINT"HOW MANY PEOPLE WANT TO BET"; 180 INPUT C 190 PRINT"WHEN ? APPEARS, TYPE NAME" 200 FOR A=1 TO C 210 INPUT W$(A) 220 NEXT A 230 PRINT 240 PRINT"HORSE",,"NUMBER","ODDS" 250 PRINT 260 FOR I=1 TO 8: S(I)=0: NEXT I 270 R=0:T=0 280 FOR A=1 TO 8 290 D(A) = INT(10*RND(1)+1) 300 NEXT A 310 FOR A=1 TO 8 320 R=R+D(A) 330 NEXT A 340 V$(1)="JEEP" 350 V$(2)="SECRETARIATE" 360 V$(3)="KNEISSL" 370 V$(4)="MISS KAREN" 380 V$(5)="QUICK SILVER" 390 V$(6)="HORSE" 400 V$(7)="NORTIC SPIDER" 410 V$(8)="TAHOE MIDNIGHT" 420 FOR N=1 TO 8 430 PRINT V$(N),,N,R/D(N);":1" 440 NEXT N 450 N=8 460 PRINT"-----------------------------------------" 470 PRINT"PLACE YOUR BETS...HORSE #, AMOUNT" 480 FOR J=1 TO C 490 PRINT W$(J); 500 INPUT Q(J),P(J) 510 IF P(J)<1 THEN 530 520 IF P(J)<100000! THEN 550 530 PRINT"YOU CAN'T DO THAT!" 540 GOTO 490 550 NEXT J 560 PRINT CHR$(27);"E"; 570 PRINT"1 2 3 4 5 6 7 8" 580 PRINT"XXXXXSTARTXXXXX" 590 FOR I = 1 TO C 600 PRINT SPC(40);W$(I);" = $";P(I);" ON ";Q(I) 610 NEXT I 620 FOR I = C+1 TO 22 630 PRINT 640 NEXT I 650 PRINT"XXXXXFINISHXXXXX";CHR$(13); 660 FOR J = 1 TO 24:PRINT CHR$(27);"A";:NEXTJ 670 FOR I=1 TO N 680 M=I 690 M(I)=M 700 Y(M(I))=INT(100*RND(1)+1) 710 IF Y(M(I))<10 THEN 800 720 S=INT(R/D(I)+.5) 730 IF Y(M(I)) <S+17 THEN 820 740 IF Y(M(I))<S+37 THEN 840 750 IF Y(M(I))<S+57 THEN 860 760 IF Y(M(I))<S+77 THEN 880 770 IF Y(M(I))<S+92 THEN 900 780 Y(M(I))=7 790 GOTO 910 800 Y(M(I))=1 810 GOTO 910 820 Y(M(I))=2 830 GOTO 910 840 Y(M(I))=3 850 GOTO 910 860 Y(M(I))=4 870 GOTO 910 880 Y(M(I))=5 890 GOTO 910 900 Y(M(I))=6 910 NEXT I 920 M=I 930 FOR I=1 TO 8 940 S(M(I))=S(M(I))+Y(M(I)) 950 NEXT I 960 I=1 970 FOR L=1 TO 8 980 FOR I=1 TO 8-L 990 IF S(M(I))<S(M(I+1)) THEN 1030 1000 H=M(I) 1010 M(I)=M(I+1) 1020 M(I+1)=H 1030 NEXTI 1040 NEXT L 1050 T=S(M(8)) 1060 PRINT"XXXXXSTARTXXXXX" 1070 FOR I=1 TO 8 1080 B=S(M(I))-S(M(I-1)) 1090 IF B=0 THEN 1140 1100 FOR A=1 TO B 1110 PRINT" " 1120 IF S(M(I))>23 THEN 1190 1130 NEXT A 1140 PRINT M(I); 1150 NEXT I 1160 FOR A=1 TO 23-T 1170 PRINT" " 1180 NEXT A 1190 PRINT"XXXXXFINISHXXXXX";CHR$(13); 1200 IF T>23 THEN 1220 1210 GOTO 660 1220 PRINT 1230 PRINT"-----------------------------------------" 1240 PRINT "THE RACE RESULTS ARE:" 1250 Z9=1 1260 FOR I=8 TO 1 STEP -1 1270 F=M(I) 1280 PRINT 1290 PRINTZ9;"PLACE HORSE NO.";F,"AT ";R/D(F);":1" 1300 Z9=Z9+1 1310 NEXT I 1320 FOR J=1 TO C 1330 IF Q(J)<>M(8) THEN 1380 1340 N=Q(J) 1350 X(J)=X(J)+((R/D(N))*P(J)) 1360 PRINT 1370 PRINT W$(J);" WINS $";((R/D(N))*P(J)) 1380 X(J)=X(J)-P(J) 1390 NEXT J 1400 T$=W$(1) : R=X(1) 1410 FOR J = 2 TO C 1420 W$(J-1)=W$(J) 1430 X(J-1)=X(J) 1440 NEXT J 1450 W$(C)=T$ : X(C)=R 1460 PRINT "DO YOU WANT TO BET ON THE NEXT RACE (Y OR N)"; 1470 INPUT O$ 1480 IF O$="Y" THEN 230 1490 FOR I = 1 TO C 1500 PRINT W$(I); 1510 IF X(I) > 0 THEN PRINT " WON $";X(I) ELSE PRINT " LOST $";X(I) 1520 NEXT I 1525 INPUT "MENU";A$ 1530 RUN"MENU" 1540 END 1550 PRINT "ERROR =";ERR,"LINE =";ERL 1560 RESUME 160