Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tree: 8722c6c919
Fetching contributors…

Cannot retrieve contributors at this time

24 lines (14 sloc) 0.938 kb

Mastermind

Mastermind is a code breaking game for two players.

When Emily introduced me to the game for her school homework, I was immediately beaten. I had to understand the algorithm and write a program that could crack the code faster than her!

Method

There are 4 digits, each with 10 possible combinations (0..9)

  • Generate an array of all possible permutations. p=10! (5040). Ruby's Array has support for this.

  • The score for each guess can be written as 2 numbers between 0 and 4.

  • For each guess, prune the permutation array keeping all elements that have the same score as the previous guess. The secret code lies in this group.

  • Select at random a guess from the perutation array. If the guess is correct you've cracked the code, otherwise reduce the set and try again.

Jump to Line
Something went wrong with that request. Please try again.