15 PRINT "THIS IS THE GAME OF MASTERMIND - WOULD YOU LIKE THE RULES(Y/N)"; : INPUT R5$ : IF R5$="Y" THEN  GOSUB 1000

20 RANDOMIZE

30 DIM X(4)

40 REM RESTART FROM HERE

45 GOSUB 600

50 REM LETS GO GET 4 RANDOM NUMBERS

60 FOR I=1 TO 4

70 GOSUB 550

80 N(I)=A

90 NEXT I

100 PRINT "   GUESS","     RESULT" : REM START GAME PROPER NOW

110 PRINT 

120 FOR J=11 TO 20 : REM 11 TO 19 = 10 GUESSES

130 REM

140 PRINT "          ";

160 PRINT "GUESS NUMBER ";J-10;

180 INPUT X$ : REM INPUT A 4 FIGURE NO.

190 REM NOW MAKE SURE IT IS 4 FIGURES

200 L=LEN(X$)

210 IF L<4 THEN 130

220 IF L>4 THEN 130

230 FOR I=1 TO 4

240 REM NOW MAKE SURE WE HAVE ONLY NUMERALS AND STORE IN ARRAY X()

250 X$(I)=MID$(X$,I,1)

260 IF X$(I)<"0" THEN 130

270 IF X$(I)>"9" THEN 130

280 X(I)=VAL(X$(I))

290 NEXT I

300 REM NOW WE GO INTO CHECK GUESS MODE

320 C=0

330 FOR I=1 TO 4 : REM CLEAR MARKERS LOOP

340 N1(I)=0 : X1(I)=0

350 NEXT I

360 FOR I=1 TO 4 : REM CHECK FOR *'s LOOP

370 IF X(I)=N(I) THEN X1(I)=1 : N1(I)=1 : PRINT "*"; : C=C+1

380 IF C=4 THEN T=T+1 : G1=G1+(J-10) : G=G1/T : GOTO 480

390 NEXT I

400 FOR I=1 TO 4 : REM CHECK FOR ?'s LOOP

410 FOR K=1 TO 4

420 IF X1(I)=1 THEN 450

430 IF N1(K)=1 THEN 450

440 IF X(I)=N(K) THEN X1(I)=1 : N1(K)=1 : PRINT "?"; : GOTO 460

450 NEXT K

460 NEXT I

470 NEXT J

480 PRINT  : PRINT  : PRINT N(1);N(2);N(3);N(4);" WAS THE CORRECT NUMBER"

490 PRINT ,"       *** YOU WERE "; : IF C=4 THEN PRINT "RIGHT ***" : Y=Y+1

500 IF C<>4 THEN PRINT "WRONG ***" : M=M+1

505 GOSUB 600

510 REM AGAIN?

520 PRINT "AGAIN(Y/N)"; : INPUT Q1$

530 IF Q1$="Y" THEN 40

540 GOTO 580

550 REM FIND A RANDOM NO. SUBROUTINE

560 A=INT(RND(1)*10)

570 RETURN

580 STOP

600 REM SUB TO PRINT SCORES

610 PRINT 

620 PRINT "   ** SCORES **"

625 PRINT 

630 PRINT "MINE","YOURS","GUESSING AVERAGE"

635 PRINT "               "

640 PRINT M,Y,"     ";G

695 RETURN

1000 REM SUB TO PRINT THE RULES

1005 PRINT 

1010 PRINT:PRINT "I WILL THINK OF A 4 FIGURE NOUMBER ALL YOU HAVE TO DO IS GUESS IT"

1015 PRINT 

1020 PRINT "I WILL LET YOU HAVE TEN GUESSES (IF YOU NEED THAT MANY)"

1025 PRINT 

1030 PRINT "EACH TIME YOU MAKE A GUESS I WILL:-"

1040 PRINT "1) INDICATE HOW MANY ARE RIGHT AND IN THE RIGHT POSITION WITH A ";

1050 PRINT CHR$(34);"*";CHR$(34);" IN THE RESULTS COLUMN"

1060 PRINT "2) INDICATE HOW MANY ARE RIGHT BUT IN THE WRONG POSITION WITH A ";

1070 PRINT CHR$(34);"?";CHR$(34);" IN THE RESULTS COLUMN"

1080 PRINT  : PRINT "I WILL ALSO KEEP A SCORE AND DISPLAY YOUR BATTING AVERAGE"

1085 PRINT 

1090 PRINT "TYPE RETURN WHEN READY TO CONTINUE"; : INPUT R5$

1095 RETURN