From the retrocomputing department: this is a Bulls & Cows or Mastermind solver as a replica of a hardware solution (calculator) I built myself in 1998. The calculator solves the guessing game known as "Bulls and Cows" with about five questions.
The point of Bulls and Cows is to guessing a four-digit secret code thought up by the game opponent. The player offers a guess, the opponent responds with the number of matching digits ("bulls") and the number of remaining misplaced digits ("cows").
Details see http://www.mystrobl.de/ws/pic/mm47/index.htm .
The game was marketed in slightly modified form (using color pegs instead of numbers) by Invicta Plastics under the trademark "Mastermind".
The original calculator was based on minimal hardware (a Microchip PIC16F84-04 microcontroller with 18 pins, 68 bytes of memory and 1024 words of program memory, four undecoded seven-segment displays, two buttons), where the controller not only computes the next guess, but handles two buttons and drives all 32 LEDs.
A detailed description is found in http://www.mystrobl.de/ws/pic/mm47/index.htm
A true simulation of the original hardware circuit, including the original firmware, based on the Hades simulation framework of the computer science department of the University of Hamburg, can be found here:
This android app emulates the appearance and behavior of the calculator, but not the exact algorithm of the former implementation. In addition to the motive of just playing around, exploring the "Pygame Subset for Android" (http://pygame.renpy.org/) on a concrete example was the main reason to create it.
Quick guide: choose and remember four digits (numbers 1 through 7 inclusive), then start the app. Answer by pushing the buttons. Left button counts 0 1 2 3 4, right button serves as an enter key. First digit ist the number of bulls (exact match), second digit is then number of cows (misplaced correct digits). Shortly after pressing Enter the second time, the seven-segment display to the next guess. Guessing the right combination is indicated by a wandering decimal point, an error in at least one of the answeres through 0.0.0.0., with a wandering decimal point.
License: free for personal use, all other rights reserved.
1.0 First version. State isn't preserved, not even for task switch.
1.1. better segment display, sound, sd card permissions removed
1.2 splash screen, save/restore, if app gets terminated in the background