Bulls and Cows


Bulls and Cows is an old code-breaking mind or paper and pencil game for two or more players, predating the commercially marketed board game Mastermind.
It is a game that may date back a century or more which uses numbers or words. It is played by two opponents.

The numerical version

The numerical version of the game is usually played with 4 digits, but can also be played with 3 or any other number of digits.
On a sheet of paper, the players each write a 4-digit secret number. The digits must be all different. Then, in turn, the players try to guess their opponent's number who gives the number of matches. If the matching digits are in their right positions, they are "bulls", if in different positions, they are "cows". Example:
The first one to reveal the other's secret number in the least number of guesses wins the game.
The game may also be played by two teams of players, with the team members discussing their strategy before selecting a move.
A computer program moo, written in 1970 by J. M. Grochow at MIT in the PL/I computer language for the Multics operating system, was amongst the first Bulls and Cows computer implementations, inspired by a similar program written by Frank King in 1968 and running on the Cambridge University mainframe. Because the game has simple rules, while it is difficult and entertaining, there are many computer variants; it is often included in telephones and PDAs.
It is proven that any number could be solved within seven turns. Minimal average game length is 26274/5040=5.2131 turns.

The word version

This version is usually played orally, but is easier to play if each player keeps written notes. It is exactly like the numerical version except instead of 4-digit numbers, 4-letter words are used. They must be real words, according to whatever language or languages you are playing the game in. Alternate versions of the game can be played with 3-letter or 5-letter words, but the 4-letter version is the most popular.
The game play for letter version of this game is as follows.
For example, if the secret word is HEAT, a guess of COIN would result in "0 Bulls, 0 Cows" ; a guess of EATS would result in "0 Bulls, 3 Cows", and a guess of TEAL would result in "2 Bulls, 1 Cow". The game would continue until someone scores "4 Bulls" for guessing HEAT exactly.