File CODMAK.BA (BASIC source file)

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

10 REM * * * MASTERMIND CODE MAKER * * *
20 PRINT "MASTERMIND CODE MAKER"\PRINT
30 RANDOMIZE
40 PRINT "NEED INSTRUCTIONS [Y OR N]";
50 INPUT R$\IF R$="Y" GOTO 800\IF R$<>"N" GOTO 40
110 REM INITIALIZATION
120 DIM A$(6),B$(3),C$(3),D$(3),S(3)
130 FOR J=0 TO 6
140 READ A$(J)
150 NEXT J
160 DATA "R","BL","G","Y","O","BR","S"
210 PRINT "WHICH VERSION [1 OR 2] ";
230 INPUT R
240 R=R+5\REM R WILL BE USED IN SUBSCRIPT CONPUTATION
270 REM CODE SELECTION
280 FOR J=0 TO 3
290 D$(J)=A$(INT(R*RND(J)))
300 REM THE SAME COLOR IN MORE THAN ONE POSITION IS LEGAL
330 NEXT J
340 REM GAME PLAY BEGINS HERE. I IS ROW COUNTER
345 REM B$ IS COPY OF D$ THAT CAN BE ALTERED TO PREVENT DUPLICATE
346 REM COUNTING. B$ IS REFRESHED BEFORE EACH ROW.
350 FOR I=1 TO 10
355 N=0\M=0
360 PRINT "YOUR CHOICE FOR ROW";I
370 INPUT C$(0),C$(1),C$(2),C$(3)
372 FOR J=0 TO 3
374 B$(J)=D$(J)
376 NEXT J
380 GOSUB 480\REM GO EVALUATE RESPONSE
390 IF N<>4 GOTO 420\REM NOT PERFECT YET
400 PRINT "CONGRATULATIONS - YOU HAVE BROKEN THE CODE IN";I;"ROWS."
410 GOTO 710
420 IF I<10 GOTO 460
430 PRINT "CORRECT CODE WAS  ";D$(0);"  ";D$(1);"  ";D$(2);"  ";D$(3)
440 GOTO 710
460 REM
470 NEXT I
480 REM SUBROUTINE TO EVALUATE RESPONSE
490 REM COUNT BLACK FIRST
495 FOR K1=0 TO 3
500 IF C$(K1)<>B$(K1) GOTO 510
505 N=N+1
510 NEXT K1
512 REM NOW COUNT WHITE
515 FOR K1=0 TO 3
520 FOR K2=0 TO 3
522 IF K1=K2 GOTO 550
525 IF C$(K1)=B$(K1) GOTO 550
530 IF C$(K2)=B$(K2) GOTO 550
535 IF C$(K1)<>B$(K2) GOTO 550
540 M=M+1
545 B$(K2)="X"\GOTO 555
546 REM 'X' IS DUMMY WRONG VALUE TO PREVENT DUPLICATE COUNTING.
550 NEXT K2
555 NEXT K1
590 PRINT "YOU GET";N;"BLACK PEGS AND";M;"WHITE PEGS ON ROW";I;"."
610 RETURN
710 REM SELECT ANOTHER GAME OR STOP
720 PRINT "ANOTHER GAME [Y OR N]";
730 INPUT R$
740 IF R$="Y" GOTO 210\IF R$<>"N" GOTO 720
750 STOP
800 PRINT\PRINT TAB(20);"MASTER MIND CODE MAKER"\PRINT
810 PRINT "IN THE GAME OF 'CODE MAKER', THE COMPUTER WILL PLACE"
820 PRINT "FOUR COLORED PEGS IN COLUMNS 1 TO 4. THE COLORS SELECTED"
830 PRINT "WILL BE CHOSEN FROM RED (R), BLUE (BL), GREEN (G),"
840 PRINT "YELLOW (Y), ORANGE (O) AND BROWN (BR). IT MAY SELECT"
850 PRINT "TWO OR MORE PEGS OF THE SAME COLOR. IF A 'VERSION 2' GAME"
860 PRINT "IS BEING PLAYED, IT MAY ALSO LEAVE SPACES (S) IN A"
870 PRINT "COLUMN. YOU HAVE TEN ROWS IN WHICH TO PLACE PEGS HAVING"
880 PRINT "COLORS OF YOUR CHOICE IN AN ATTEMPT TO MATCH THE SELECTION"
890 PRINT "MADE BY THE COMPUTER. THE COMPUTER WILL ISSUE YOU A BLACK"
900 PRINT "PEG FOR EACH OF YOUR PEGS THAT MATCHES THE COMPUTER'S COLOR"
910 PRINT "CHOICE FOR THAT COLUMN. IT WILL ISSUE A WHITE PEG FOR"
920 PRINT "EACH OF YOUR PEGS THAT MATCH ONE OF ITS COLORS, BUT THAT"
930 PRINT "ARE NOT IN THE CORRECT COLUMN."\PRINT\PRINT "GOOD LUCK -"
940 GOTO 110
950 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