## Friday, 1 July 2011

### The Martingale System of Gambling

Just a small exercise for my edification, regarding the "Gamblers Fallacy" inherent to "The Martingale" system of gambling.

import java.util.*;
import java.io.*;
import java.text.*;

/**
* A quick implementation of the Martingale
* system of gambling. Run it, and it will
* play at the roulette table, until broke.
* How far can you make it before going
* broke? Let me know!
*/

public class Martingale
{

public static String padLeftToTotal(long s, long n) {
return String.format("%1$#" + (n-(s+"").length()) + "s", s + ""); } public static void main(String[] stuff) { long account = 255; long bet = 1; long maxbet = 0; // 0..36 // where red: 1, 3, 5, 7, .. 36 // where black: 2, 4, 6, .. 35 // where green : 0 while (account > 0L) { long result = Math.round(Math.random()*36.0); System.out.println("Account: " + padLeftToTotal(account, 15) + " Betting " + padLeftToTotal(bet, 15) + "$ on red.. result is " +
padLeftToTotal(result, 3) + " " +
(result == 0 ? "green" : ((result % 2) == 0 ? "black" : "  red")));
if (result != 0 && (result % 2) == 1)
{
// red, we win!
account += bet;
bet = 1;
}
else
{
// not red, we lose!
account -= bet;
bet *= 2;
if (bet > maxbet)
{
maxbet = bet;
System.out.println("Maximum bet increased to " + maxbet + "$"); try { Thread.sleep(1000); } catch (Exception e) { } } } } System.out.println("You lose, dude!"); System.out.println("You now owe the casino " + (-account) + "$");
}

}

“Remember this well, Lady Luck has no memory.”

# References

Wikipedia : Gambler's Fallacy
http://en.wikipedia.org/wiki/Gambler%27s_fallacy
What happened at Monte Carlo in 1913?
http://www.fallacyfiles.org/gamblers.html