Tree @master (Download .tar.gz)
Flip
This is Cat's Eye Technologies' distribution of the game of Flip.
Flip is a very simple computer game by John S. James which first appeared in the March/April 1977 edition of Creative Computing.
In the game, the computer flips a virtual coin 50 times, and the object is for you to guess whether the coin will come up heads or tails each time.
What makes it interesting is that the coin is not fair. The computer tries to find patterns in your guesses, and exploit them by biasing the coin toss away from what it thinks you are likely to guess next.
This is interesting because humans are actually not all that good at moving randomly; we tend to and fall into patterns. So a pigeon, not thinking about the game and pecking haphazardly at "heads" and "tails" buttons, might actually be a better Flip player than you or me.
You can think of the program as creating a Markov chain to model your guesses, and updating it each time you make a guess, based on your last few guesses. Although, it's not quite that straightforward -- there is some randomness thrown in, too.
This version of the game is written in Erlang, based largely on the version
written in BASIC by Steve North appearing in More BASIC Computer Games,
Ed. David H. Ahl (ISBN 0-89480-137-6). Note that in this implementation,
heads and tails are called Y
and N
.
Running
To build the flip
module, run the script make.sh
from the root
directory of the distribution.
After the module has been built, the game can be played by running the
script flip
in the bin
directory. This script can be run from anywhere;
it knows to locate the module in the distribution directory.
Playing the Game
Each time the computer prompts you with a question mark, type 'Y' to guess that the flip was heads, or 'N' to guess that the flip was tails. A correct guess will be signalled by an asterisk printed before the next question mark. At the end of the run (by default 50 flips,) your score will be printed.
License
This work is in the public domain. See the file UNLICENSE
for more
information.
Commit History
@master
git clone https://git.catseye.tc/Flip/
- Added tag rel_1_0_2014_0819 for changeset 2878431ff7aa Chris Pressey 10 years ago
- Rectify file permissions. catseye 11 years ago
- Convert CRLFs -> LFs in README. catseye 12 years ago
- Place this distribution in the public domain. catseye 12 years ago
- Don't ship with (old) .beams, add driver script, dotignores. catseye 12 years ago
- Update comments (edoc is overkill) and README. Cat's Eye Technologies 12 years ago
- Add README, update license verbiage (no "REGENTS".) Cat's Eye Technologies 12 years ago
- Added tag rel_1_0_2002_0731 for changeset 31c79635c66a Cat's Eye Technologies 12 years ago
- Initial import of Flip version 1.0 revision 2002.0731 sources. Cat's Eye Technologies 12 years ago