100 REM MASTERMIND
110 REM WRITTEN BY HM (HARDMATH123)
111 REM G() - GUESS ARRAY
112 REM R() - RANDOM ARRAY
113 REM B - BLACK HITS
114 REM W - WHITE HITS
115 GOTO 480
119 LET M = 0
120 DIM G(4)
130 DIM R(4)
140 LET R(0) = INT(10*RND(1))
150 LET R(1) = INT(10*RND(1))
160 LET R(2) = INT(10*RND(1))
170 LET R(3) = INT(10*RND(1))
180 PRINT "Enter your guess (4 numbers)"
185 LET M = M + 1
190 INPUT G(0)
200 INPUT G(1)
210 INPUT G(2)
220 INPUT G(3)
230 LET B = 0
240 IF G(0) = R(0) THEN LET B = B + 1
250 IF G(1) = R(1) THEN LET B = B + 1
260 IF G(2) = R(2) THEN LET B = B + 1
270 IF G(3) = R(3) THEN LET B = B + 1
275 IF B = 4 THEN GOTO 460
280 IF B = 1 THEN PRINT "YOU HAVE 1 BLACK HIT."
290 IF B < 1 THEN PRINT "YOU HAVE NO BLACK HITS."
300 IF B > 1 THEN PRINT "YOU HAVE"; B; "BLACK HITS."
310 LET W = 0
320 LET C = 0
330 IF C = 4 THEN GOTO 419
340 IF G(C) = R(0) THEN GOTO 390
350 IF G(C) = R(1) THEN GOTO 390
360 IF G(C) = R(2) THEN GOTO 390
370 IF G(C) = R(3) THEN GOTO 390
380 GOTO 400
390 LET W = W + 1
400 LET C = C + 1
410 GOTO 330
419 LET W = W - B
420 IF W = 1 THEN PRINT "YOU HAVE 1 WHITE HIT."
430 IF W < 1 THEN PRINT "YOU HAVE NO WHITE HITS."
440 IF W > 1 THEN PRINT "YOU HAVE"; W; "WHITE HITS."
450 GOTO 180
460 PRINT "YOU WIN! IT ONLY TOOK YOU"; M; "MOVES."
470 END
480 PRINT "*** MASTERMIND ***"
490 PRINT " BY ~HARDMATH123"
500 PRINT "ZOLTAR IS THINKING OF A 4-DIGIT NUMBER. HE "
510 PRINT "GRADES YOUR GUESSES IN TWO WAYS:"
520 PRINT " - YOU GET A 'BLACK' HIT FOR EACH DIGIT IN "
530 PRINT " THE CORRECT PLACE."
540 PRINT " - YOU GET A 'WHITE' HIT FOR EACH DIGIT "
550 PRINT " THAT IS IN ZOLTAR'S NUMBER, BUT IN THE "
560 PRINT " WRONG PLACE."
570 PRINT "CAN YOU GUESS HIS NUMBER?"
990 GOTO 119