Roulette Sim

by paulftw

JavaScript

var p = 0.47;

var K = 1.4;


var BASEBANK = 10000;

var MAXBET = BASEBANK*3;

var bank = BASEBANK;

var bet = function(amount) {
    if (bank < amount) {
        console.log('you are out!');
    }
    bank -= amount;
    var r = Math.random();
    if (r < p) {
        bank += 2*amount;
        //console.log('Bet ', amount, ' and WON Bank is ', bank);
        return 1;
    } else {
        //console.log('Bet ', amount, ' and LOST Bank is ', bank);
        return 0;
    }
};

var play = function() {
    var risk = 1;
    while (true) {
        if (risk > bank) {
            //console.log('i am dead!!!');
            break;
        }
        if (risk > MAXBET) {
            //console.log('chicken');
            break;
        }
	    var b = bet(risk);
        if (b) {
            break;
        }
        risk *= K;
    }
};

var bestend = BASEBANK*1.1;

for (var kk = 1000; kk < 4000; kk++) {

    K = kk /1000;
    bank = BASEBANK;
    
    for (var i = 0; i<60000; i++) {
        if (bank < 1) {
            break;
        }
        
        play();
        
        if (i % 10000 == 0) {
            //console.log('finished ', i ,' runs, bank ', bank);
        }
    }

    if (bank > bestend) {
        //bestend = bank;
	    console.log('FINAL GAIN = ', bank-BASEBANK, ' for K ', K);
    }
}
console.log('end. K = ', K);