Below is a simple CLi coin flip I created to help me decide on what to do for lunch.. Don’t forget to change the mode of the file:

$ chmod +x flipcoin

Usage:

$ ./flipcoin # Flips 3 times by default $ ./flipcoin 1234 # Flips 1234 times

#!/usr/bin/php <?php /* Determine the number of flips. This assumes you won't be putting in values <=0 */ $lim = (array_key_exists(1,$argv)) ? $argv[1] : 3; /* Set counters, $heads, $tails and $c(ount) */ $heads=$tails=$c=0; for($i=0;$i<$lim;$i++) { $c++; $int = rand(1,1000); /* If $int modulo 2 leaves a remainder, call heads; else call tails */ if ( $int % 2 ) { echo '!'; $heads++; } else { echo '.'; $tails++; } if( ($c % 50) == 0 ) { echo "\n"; } } /* Echo the winner, if there was one */ echo "\nAfter {$lim} flips: {$heads} Heads(!) and {$tails} Tails(.)\n" .( ($heads > $tails) ? 'Heads' : ( ($tails == $heads) ? 'Nobody' : 'Tails' ) ) ." wins.\n"; /* Check for ties, and break them with one last flip */ if($tails == $heads) { $int = rand(1,1000); echo "\n".'Single Tie Breaker Flip: '; if ( $int % 2 ) { echo 'Heads Wins.'; } else { echo 'Tails Wins'; } echo "\n"; } exit(0); ?>

It’s nothing crazy, but it is fun to watch 100,000,000 coins being flipped..

After 100000000 flips: 50005803 Heads(!) and 49994197 Tails(.) Heads wins.

Enjoy!