ObfuscatedMastermind


A fully-functional game of Mastermind written in Perl.

 

Consult the Mastermind Instructions if you are unfamiliar with how the original game is played. This demonstration shows how my script is used to play the game:

 

perl mind.pl

 

1 1234

 

Program prompts with '1', which indicates the first guess. Player guesses '1234'.

 

1W0R

 

Program responds with 1 white peg and no red pegs.

 

2 5678

1W0R

[...]

8 8822

0W4R 8822

 

4 red pegs followed by the answer shows the player guessed the code correctly before his ten tries were exceeded.

 

 

sub q{$;=1;$q='';$q.=int(rand(9))for(5..8)}sub _{print@_}&q;for(;;){$:=$~=0;_
"$/$; ";chop($_=<>);if(/^d{4}$/){$_.=q,_._,.$q;$:++while+s/(.)(.{6})1/;$2,/
;$~++while+s/(.)(...+)1/;$2$1/;_"$~W$:R ";++$;;$:==4|$;>10&&_($q)&&&q}}