home *** CD-ROM | disk | FTP | other *** search
- 10 text 0,&
- ******************************************************************************** MASTERMIND GAME (R)
- ********************************************************************************
- THIS IS THE GAME OF MASTERMIND. THE OBJECT OF THE GAME IS TO
- GUESS WHAT FOUR COLORS THE COMPUTER HAS HIDDEN IN IT'S MEMORY.
- IF YOU GUESS A COLOR PEG IN THE RIGHT POSITION, THEN YOU WILL
- GET A BLACK PEG. IF YOU GUESS THE RIGHT COLOR PEG IN THE WRONG
- POSITION, THEN YOU WILL GET A WHITE PEG. IF YOU GET FOUR WHITE
- PEGS, THAT MEANS YOU HAVE GUESSED FOUR CORRECT COLORS, BUT NOT
- IN THE RIGHT POSITIONS. IF YOU GET FOUR BLACK PEGS, YOU WIN THE
- GAME. AFTER EACH PROMPT FOR MOVE NUMBER, ENTER YOUR GUESS. FOR
- EXAMPLE: "MOVER NUMBER 1 ?" ENTER "GGGG". ENTRIES MUST BE IN
- CAPITAL LETTERS.
-
- IF YOU FORGET WHAT YOU HAVE PLAYED ON PREVIOUS GUESSES, TYPE "BOARD"
-
- IF YOU WANT TO QUIT IN THE MIDDLE OF A GAME, TYPE "QUIT"
-
- GOOD LUCK!!
- &
- 20 VAR B$,P$,G$,A$=STRING:10
- 30 VAR Y,Q,Z,C,N,X,X1,P,B,W,K,G,J,R,I,V=INTEGER
- 35 DIM COM INTEGER C(4) Y(10) Z(10) R(4) G(4)
- 40 DIM COM STRING B$(10)
- 100 PRINT "COLOR CODES:"
- 110 PRINT " R=RED O=ORANGE Y=YELLOW"
- 120 PRINT " G=GREEN B=BLUE P=PURPLE"
- 130 PRINT
- 180 C(0)=4
- 190 FOR N=1 TO 4
- 200 C(N)=INT(6*RND(1))
- 210 NEXT N
- 220 FOR N=1 TO 4
- 230 X=C(N)
- 231 IF X <> 1 THEN 234
- 232 X=89
- 233 GOTO 250
- 234 IF X <> 2 THEN 237
- 235 X=82
- 236 GOTO 250
- 237 IF X <> 3 THEN 240
- 238 X=80
- 239 GOTO 250
- 240 IF X <> 4 THEN 243
- 241 X=79
- 242 GOTO 250
- 243 IF X <> 5 THEN 246
- 244 X=71
- 245 GOTO 250
- 246 X=66
- 250 C(N)=X
- 260 NEXT N
- 270 P$=""
- 273 FOR X1=1 TO 4
- 275 P$=P$+CHR$(C(X1))
- 277 NEXT X1
- 280 P=1
- 290 PRINT
- 300 PRINT "MOVE NUMBER";P;
- 310 INPUT G$
- 320 IF G$= "BOARD" THEN 910
- 330 IF G$= "QUIT" THEN 440
- 340 B$(P)=G$
- 350 GOSUB 520
- 360 IF B=4 THEN 1010
- 370 GOSUB 600
- 380 PRINT B; "BLACK PEGS"
- 390 Y(P)=B
- 400 PRINT W; "WHITE PEGS"
- 410 Z(P)=W
- 415 P=P+1
- 420 IF P <> 10 THEN 290 ELSE 430
- 430 PRINT "SORRY. . . YOU LOSE"
- 440 PRINT "THE CORRECT CODE WAS:";P$
- 450 PRINT "WANT TO PLAY AGAIN? ANSWER Y OR N";
- 460 INPUT A$
- 480 IF A$="Y" THEN 190
- 490 PRINT
- 500 END
- 510 REM ***********COMPUTE BLACK PEGS*************************
- 520 FOR X1=1 TO 4
- 523 G(X1)=ASC(MID$(G$,X1,1))
- 525 NEXT X1
- 530 B=0
- 540 FOR K=1 TO 4
- 550 IF G(K) <> C(K) THEN 570
- 560 B=B+1
- 570 NEXT K
- 580 RETURN
- 590 REM ***********COMPUTE WHITE PEGS*************************
- 600 FOR X1=1 TO 4
- 603 R(X1)=ASC(MID$(P$,X1,1))
- 605 NEXT X1
- 610 W=0
- 620 FOR I=1 TO 4
- 630 J=1
- 640 IF G(I) <> R(J) THEN 675
- 650 W=W+1
- 660 R(J)=0
- 670 GOTO 690
- 675 J=J+1
- 680 IF J < 5 THEN 640 ELSE 690
- 690 NEXT I
- 700 W=W-B
- 710 RETURN
- 900 REM *************PRINT BOARD SUMMARY***********************
- 910 V=P-1
- 920 PRINT "GUESS","BLACKS","WHITES"
- 930 PRINT "-----","------","------"
- 960 FOR I=1 TO V
- 970 PRINT B$(I),Y(I),Z(I)
- 990 NEXT I
- 1000 GOTO 290
- 1010 PRINT "YOU WIN!!"
- 1020 GOTO 450
- 9999 END
-