DataMuseum.dk

Presents historical artifacts from the history of:

Christian Rovsing CR7, CR8 & CR16 CP/M

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Christian Rovsing CR7, CR8 & CR16 CP/M

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦f07e19f3b⟧ TextFile

    Length: 3840 (0xf00)
    Types: TextFile
    Names: »HORSE.BAS«

Derivation

└─⟦016ef1d53⟧ Bits:30005210 BASIC Demo
    └─ ⟦this⟧ »HORSE.BAS« 

TextFile

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
«nul»«nul»«nul»«nul»«nul»«nul»«nul»«nul»«nul»«nul»«nul»«nul»«nul»«nul»«nul»«nul»«nul»«nul»«nul»«nul»«nul»«nul»«nul»«nul»«nul»«nul»«nul»«nul»«nul»«nul»«nul»«nul»«nul»«nul»«nul»«nul»«nul»«nul»«nul»«nul»«nul»«nul»«nul»