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);