File DOGS.BA (BASIC source file)

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

5 REM  V.NAHIGIAN     8TH GRADE     DOG RACE GAME
7 REMARKABLY TRANSLATED TO OS8 BASIC BY KAY R. FISHER ...DEC
10 DIM S(10),C(10),J(20),W(10),A(10)
15 DIM N$(20),H$(10),P(20),V(10),X(10)
20 DIM Y(10),B(11),M5(20)
60 PRINT "PLEASE WAIT, DISREGARD THE 25 BELLS"
66 RANDOMIZE
70 FOR I=1 TO 25\H=INT(10*RND(0))+1
72 V(H)=V(H)+1
74 FOR T=1 TO 10\IF H=T THEN 85
80 X(T)=X(T)+1
85 NEXT T
90 PRINT PNT(7);
95 NEXT I
100 PRINT\PRINT\PRINT
105 PRINT TAB(10);"WELCOME TO ROOK-A-DAY RACE TRACK!!!"
110 PRINT\PRINT
115 PRINT "DO YOU WANT THE INSTRUCTIONS";\INPUT I$\GOTO 215
120 PRINT "     THIS IS A DOG RACE GAME. THERE ARE 10 DOGS"
125 PRINT "WHICH RUN IN THIS RACE. THE WINS AND LOSSES OF"
130 PRINT "EACH DOG ARE RECORDED."
145 PRINT "     THE WINNER OF THE RACE WILL BE DETERMINED BY HOW"
150 PRINT "MANY WINS AND LOSSES EACH DOG HAS. AFTER THE WINS AND"
155 PRINT "LOSSES OF EACH DOG HAVE BEEN POSTED, YOU WILL HAVE A "
160 PRINT "CHANCE TO BET. NO MORE THAN 19 PEOPLE ARE ALLOWED"
165 PRINT "TO BET IN THIS GAME. WHEN BETTING, YOU CANNOT BET OVER"
170 PRINT "$500.00 AND MUST BET AT LEAST $2.00. MORE THAN 1"
175 PRINT "PERSON MAY BET ON THE SAME DOG. AFTER THE BETS"
180 PRINT "ARE MADE THE ODDS WILL BE FIGURED AND POSTED AND THE "
185 PRINT "RACE WILL BEGIN."
190 PRINT "     THE STRATEGY OF THIS GAME IS TO PICK THE WINNER"
195 PRINT "IN SUCH A WAY THAT THE ODDS ON THAT DOG ARE GOOD IN"
200 PRINT "YOUR FAVOR."
210 PRINT\PRINT TAB(10);"GOOD LUCK!!"\GOTO 220
215 IF I$="YES" THEN 120\GOTO 220
220 GOSUB 225
222 GOTO 255
225 PRINT\PRINT\PRINT "DOG","NUMBER","WINS","LOSSES"
230 FOR I=1 TO 10
235 READ H$(I)
245 PRINT H$(I),I,V(I),X(I)
250 NEXT I
252 RETURN
255 PRINT\PRINT\PRINT "HOW MANY WISH TO BET";
260 INPUT Q\IF Q<20 THEN 270
265 PRINT "NO MORE THAN 19 ALLOWED"\PRINT\GOTO 255
270 FOR Z=1 TO Q
275 PRINT "BETTOR'S NAME";\INPUT N$(Z)
280 PRINT "DOG'S NUMBER";\INPUT J(Z)
285 PRINT "AND YOUR BET";\INPUT P(Z)
290 IF P(Z)<2 THEN 300\IF P(Z)>500 THEN 315
295 PRINT\NEXT Z
296 GOTO 325
300 PRINT "YOU MUST BET AT LEAST $2.00. TRY AGAIN"; N$(Z)
305 PRINT "YOUR BET";\INPUT P(Z)
310 GOTO 290
315 PRINT "YOU CAN'T BET OVER $500.00 ";N$(Z);" TRY AGAIN"
320 GOTO 305
325 FOR I=1 TO Q
330 B(11)=B(11)+P(I)
335 NEXT I
336 REM  AMOUNT OF PEOPLE PLAYING
340 FOR I=1 TO Q
342 REM  DOGS
345 FOR I3=1 TO 10
350 IF J(I)<>I3 THEN 360
355 A(I3)=A(I3)+P(I)
360 NEXT I3
365 NEXT I
370 FOR I=1 TO 10
375 IF A(I)>=2 THEN 390
380 B(I)=INT(B(11)*RND(X))+1
385 GOTO 395
390 B(I)=INT((B(11)-A(I))/(A(I)-(.17*A(I))))
395 IF B(I)<=2 THEN 405
400 GOTO 410
405 B(I)=2
410 NEXT I
415 PRINT
420 PRINT "DOG","NUMBER","ODDS"
425 FOR I=1 TO 10
430 PRINT H$(I),I,B(I);": 1"
435 NEXT I
440 FOR I=1 TO 10
445 IF V(I)+X(I)<=0 THEN 470
455 Y(I)=INT(V(I)/ABS((V(I)+X(I)))+INT(V(I)*RND(X))+1)
460 IF Y(I)<7 THEN 470
465 GOTO 475
470 Y(I)=INT(7*RND(X))+1
475 NEXT I
480 FOR R=1 TO 10
485 S(R)=0
490 NEXT R
495 PRINT
496 PRINT PNT(7);PNT(7);PNT(7);PNT(7);PNT(7);
497 PRINT
500 PRINT TAB(2);"-1 2 3 4 5 6 7 8 9 10","AND THEY'RE OFF!!!"
510 FOR R=1 TO 10
520 C(R)=INT(Y(R)*RND(X))+1
525 S(R)=S(R)+C(R)
530 NEXT R
535 PRINT TAB(2);"XXXXXXXXSTARTXXXXXXXX"
540 FOR P=1 TO 20
545 FOR R=1 TO 10
550 IF P=S(R) THEN 580
555 IF S(R)>20 THEN 590
560 NEXT R
565 PRINT
570 NEXT P
575 GOTO 625
580 IF R=1 GOTO 584
581 FOR I=2 TO R
582 PRINT "  ";
583 NEXT I
584 PRINT R;PNT(13);
585 GOTO 560
590 IF W(1)<>0 THEN 605
595 W(1)=R
600 GOTO 560
605 D=2
610 W(D)=R
615 D=D+1
620 GOTO 560
625 IF W(1)<>0 THEN 640
630 PRINT TAB(2);"XXXXXXXFINISHXXXXXXXX"
635 GOTO 510
640 FOR Y=2 TO 22
645 PRINT TAB(Y);"X";TAB(Y);PNT(7);
650 IF Y=7 THEN 665
655 NEXT Y
660 GOTO 680
665 PRINT " FINISH";
670 Y=13
675 GOTO 655
680 PRINT
685 PRINT " ";
690 FOR I=1 TO 22\PRINT "+";\NEXT I
692 PRINT 
695 IF D<=1 THEN 735
700 G=W(1)
705 FOR I2=1 TO D
710 IF S(W(I2))<S(W(I2+1)) THEN 725
715 NEXT I2
720 GOTO 735
725 G=W(I2+1)
730 GOTO 715
735 PRINT
740 PRINT
745 PRINT "AND THE WINNER IS DOG NUMBER";G,H$(G)
750 PRINT\GOTO 970
755 RESTORE
760 FOR E=1 TO Q
765 IF G=J(E) THEN 790
770 M5(E)=M5(E)-P(E)
775 N7=N7+P(E)
780 NEXT E
785 GOTO 835
790 IF B(G)=2 THEN 800
795 GOTO 805
800 B(G)=1
805 M=INT(100*(B(G)*P(E)+P(E))/100)
810 PRINT "CONGRATULATIONS ";N$(E);" YOU HAVE WON $";M
815 M5(E)=M5(E)+M
820 N7=N7-M
825 PRINT
830 GOTO 780
835 PRINT "WOULD YOU AVID RACE FANS LIKE TO PLAY AGAIN";
840 INPUT L$
845 IF L$="YES" THEN 870
850 PRINT\PRINT "PERSON","AMOUNT"
852 FOR I=1 TO Q
855 PRINT N$(I),M5(I)\NEXT I
857 PRINT "COMP",N7
860 FOR I=1 TO 5\PRINT\NEXT I
865 GOTO 1095
870 FOR K=1 TO 10
875 A(K)=0
880 S(K)=0
885 W(K)=0
890 C(K)=0
895 J(K)=0
900 B(11)=0
905 B(K)=0
910 NEXT K
912 GOSUB 225
915 PRINT "ANY NEWCOMERS";\INPUT C$
920 FOR I=1 TO Q
925 PRINT N$(I);" YOUR DOGS NUMBER";\INPUT J(I)
930 PRINT "AND YOUR BET";\INPUT P(I)
935 IF P(I)<2 THEN 950\IF P(I)>500 THEN 960\NEXT I
940 IF C$="NO" THEN 325
945 GOTO 1025
950 PRINT "YOU MUST BET AT LEAST $2.00 ";N$(I); " YOUR BET";
955 INPUT P(I)\GOTO 935
960 PRINT "YOU CAN'T BET OVER $500.00 ";N$(I);" TRY AGAIN"
965 GOTO 930
970 FOR I=1 TO 10
980 IF I=G THEN 995
985 X(I)=X(I)+1
990 GOTO 1000
995 V(I)=V(I)+1
1000 NEXT I
1005 GOTO 755
1010 DATA "FASTER","ZELDA","SPEEDY","ZIFFLE","KILLER"
1015 DATA "BURBON","BUGZY","SNOOPY","LASSIE","WINNER"
1020 GOTO 1095
1025 PRINT\PRINT "HOW MANY NEWCOMERS";\Q4=0\INPUT J6\Q4=Q+J6
1030 IF Q4>19 THEN 1035\Q=Q4\Q4=0\GOTO 1040
1035 PRINT "NO MORE THAN 19 ALLOWED. YOU NOW HAVE ";Q\Q4=0\GOTO 1025
1040 FOR Z=I+1 TO Q
1045 PRINT "BETTORS NAME";\INPUT N$(Z)
1050 PRINT "DOGS NUMBER";\INPUT J(Z)
1055 PRINT "AND YOUR BET";\INPUT P(Z)\IF P(Z)<2 THEN 1070
1060 IF P(Z)>500 THEN 1075
1065 PRINT\NEXT Z
1067 GOTO 325
1070 PRINT "YOU MUST BET AT LEAST $2.00"\GOTO 1055
1075 PRINT "YOU CANNOT BET OVER $500.00"\GOTO 1055
1080 GOTO 325
1095 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