Implement a simple program that match the requirements below.
Code breaking is all about finding the secret code.
When the game starts the player should be able to guess the secret code by providing a 4 digits number. The game finishes when the player have found the exact match for the secret code.
- The game will return a
+
sign for an exact match - The game will return a
-
sign for a digit match - An exact match is a digit that matches a digit of the secret code both in value and in position
- A digit match is a digit that matches a digit of the secret code in value but does not have the correct position
- Exact matches have priority over digit matches
- Once a digit has been used for an exact match in the secret code, it can no longer be used for any digit match
- Secret:
1234
, Proposal:1245
⇒ Response:++-
because two exact matches (1,2) and one digit match (4) - Secret:
1234
, Proposal:2002
⇒ Response:-
because 2 has been used once for a digit match, cannot be re-used (rule 6) - Secret:
1234
, Proposal:2200
⇒ Response:+
- Secret:
1234
, Proposal:1234
⇒ Response:++++
- Secret:
2234
, Proposal:2234
⇒ Response:++++
Command-line is sufficient, no fancy ui needed.