File BULCOW.BA (BASIC source file)

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

1 REM *** BULCOW BY GEOFF WYVILL, UNIV OF BRADFORD, ENGLAND
2 REM *** MODIFICATIONS FOR BASIC-PLUS BY DAVE AHL
3 REMARKABLY TRANSLATED TO OS8 BASIC BY KAY R. FISHER ...DEC
5 GOTO 500
10 DIMD(10,4),B(10),C(10),G(10)
15 RANDOMIZE\PRINT\PRINT\PRINT
20 PRINT"NEW GAME...."\PRINT\A=0\GOTO 200
30 PRINT\PRINT\PRINT\LETJ=0
35 PRINT"YOUR GUESS";\INPUTN\LETN=(N+.1)/100000
40 FORI=0TO4\LETG(I)=INT(10*N)\LETN=10*N-INT(10*N)
41 FORK=0TOI-1\IFG(I)=G(K)GOTO170
42 NEXTK
43 NEXTI
45 LETP=4\LETA=0\GOSUB300
50 PRINT V;"BULL";\IF V=1 GOTO 55\PRINT"S";
55 IF V<>5 GOTO 60\PRINT " - YOU WIN"\GOTO 20
60 PRINT W-V;"COW";\IF W=V+1 GOTO 65\PRINT "S";
65 IF J<>0 GOTO 68\A=1 \GOTO 200
68 GOSUB400
70 PRINT" - MY GUESS IS ";
75 FOR I =0 TO 4\PRINT CHR$(D(J,I)+48);
76 NEXT I
80 PRINT" MY SCORE";\INPUTB(J),C(J)\LETC(J)=C(J)+B(J)
81 IF B(J)=<-1 GOTO 82\IFB(J)=>6GOTO82\IFC(J)=>6GOTO82\IFC(J)-B(J)>-1GOTO83
82 PRINT" - RIDICULOUS!!";\GOTO 70
83IF B(J)<>4GOTO 85\IF C(J)=5 GOTO 82
85 IFB(J)<>5GOTO90\PRINT" - I WIN - MY NUMBER WAS";\GOTO 100
90 GOTO35
100 FOR I=0 TO 4\PRINT CHR$(D(0,I)+48);
101 NEXT I
110 GOTO20
150 PRINT\PRINT"YOU HAVE GIVEN ME INCONSISTENT SCORES.  GAME SPOILED!"\GOTO20
170 PRINT"REPEATED DIGITS NOT ALLOWED"\GOTO35
200 FORP=0TO4
210 LETD(A,P)=INT(10*RND(1))
220 FORI=0TOP-1\IFD(A,I)=D(A,P)GOTO210
230 NEXTI
240 NEXTP
250 IFA=0GOTO30
260 LETJ=1\GOTO70
300 LETV=0\LETW=0
310 FOR I=0TOP\IF D(A,I)<>G(I) GOTO 320\V=V+1
320 FOR K=0 TO 4\IF D(A,K)<>G(I)GOTO 330\W=W+1
330 NEXTK
340 NEXTI
350 RETURN
400 LETP=0
405 LETG(P)=D(J,P)
410 FORI=0TOP-1\IFG(I)=G(P)GOTO430
415 NEXTI
420 FORA=1TOJ\GOSUB300
425IFV>B(A)GOTO430\IFW>C(A)GOTO430\IF4-P<C(A)-WGOTO430\IF4-P>=B(A)-VGOTO448
430 G(P)=G(P)+3\IF G(P)=<9GOTO432\G(P)=G(P)-10
432 IF P<>0GOTO435\IFG(P)=D(1,0)GOTO150
435 IFG(P)<>D(J,P)GOTO410
440 P=P-1\IF P<0GOTO150
445 GOTO430
448 NEXTA
450 LETP=P+1\IFP<5GOTO405
455 LETJ=J+1
460 FOR I=0 TO 4\D(J,I)=G(I)
461 NEXT I
465 RETURN
500 PRINT\PRINT\PRINT"     BRADFORD UNIVERSITY BULLS AND COWS GAME"\PRINT
510 PRINT "WANT INSTRUCTIONS (Y OR N)";\INPUT A$\PRINT
520 IF A$="N" GOTO 10
530 PRINT"EACH PLAYER (YOU AND THE COMPUTER) THINK OF A 5-DIGIT NUMBER WITH"
540 PRINT"NO REPEATED DIGITS, E.G., 05387, 24961, 10356.  PLAYERS IN TURN"
550 PRINT"TRY TO GUESS THE NUMBER OF THE OTHER.  AFTER EACH GUESS, EACH"
560 PRINT"PLAYER GIVES THE OTHER PLAYER A SCORE FOR HIS GUESS CONSISTING"
570 PRINT"OF A NUMBER OF BULLS AND COWS.  A BULL IS SCORED FOR EACH CORRECT"
580 PRINT"DIGIT IN THE CORRECT PLACE.  A COW IS SCORED FOR EACH CORRECT DIGIT"
590 PRINT"BUT IN THE WRONG PLACE."\PRINT"     E.G., IF MY NUMBER IS 50327"
600 PRINT"         AND YOUR GUESS IS 20174"
610 PRINT"         YOU SCORE 1 BULL (FOR THE 0) AND 2 COWS (FOR THE 2 AND 7)"
620 PRINT"THE COMPUTER EXPECTS ITS SCORES IN THE FORM '1,2' WHICH WOULD"
630 PRINT"INDICATE 1 BULL AND 2 COWS."\PRINT\PRINT"GOOD LUCK !!"\PRINT
640 GOTO 10
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