在这一页
“约翰尼·克拉普斯”挑战
简介
在我发布挑战后不久,我问了“Johnny Craps” (老玩家指南:如何在赌桌上获胜)的管理员,他是否愿意接受我的挑战。这个系统的网站已经不存在了,博彩系统通常都是这样。它的所有者似乎半夜就消失了。
约翰回复很快,对他的系统及其在十亿轮次中盈利的能力非常有信心。他向我讲述了几个使用他的系统赢取巨额利润的故事,并承认只输过一次大钱,那是因为他喝醉了,没有按照系统操作。在我们的讨论中,约翰表现得非常绅士,甚至拒绝了我提出的如果他的系统成功挑战就付款的提议。正是通过他个人的应用以及其他购买他系统的人的见证,他才真正相信了它。
他的系统基于这样的理念:输一次之后赢的可能性会更大。此外,他的系统还设置了限制损失的控制措施,最大输赢线(pass line)仅为最小输赢线(pass line)的八倍。他只投注pass line,并接受赔率。其谬误在于他假设输一次之后赢的可能性会更大。以下结果证实了这一点。
《老玩家指南:如何在掷骰子游戏中获胜》的结果
| 方面 | 结果 |
|---|---|
| 掷骰子总数 | 1,000,000,006 |
| 投注过线总数 | 296,239,663 |
| 总赔率投注 | 197,491,494 |
| 投注总单位 | 3,800,921,108 |
| 损失单位总数 | 21,266,094 |
| 任何时间赢得的最大单位数 | 2,111 |
输掉的单位数与投注单位数之比为 0.005595,这与掷骰子游戏中采用全双倍赔率时的庄家优势 0.005720 相差无几,差异源于随机变化。每次游戏的最大赢取单位数差异很大,上述 2111 的结果不应指望轻易复制。以下是基于十个不同游戏(每次游戏一百万次)中任意时刻的最大赢取单位数:224、2521、1226、1199、1298、6130、3123、224、851 和 1314。
下面是该程序的副本。我在某些会泄露他策略的因素上标注了***符号。由于该程序仍在出售,他肯定不想免费赠送。
我要感谢约翰对这次实验的参与和合作。
# 包括 <stream.h>
# 包括 <stdlib.h>
# 包含 <string.h>
# 包括 <math.h>
int main(空)
{
int numpass、numodds、numroll、tbet、er、es、point、roll、die[2]、i、n、max、bet、win、num、bil;
cerr << "输入种子";
cin >> n;
对于(i = 1;i <= n;i++)
{
num = rand();
}
cerr << "输入试验次数";
cin >> n;
滚动数量 = 0;
比尔=0;
胜利=0;
tbet = 0;
最大值=0;
numpass = 0;
numodds = 0;
比尔=0;
do //重复直到实验结束
{
es = 0;
赌注=2;
do // 重复直到系列结束
{
点=0;
呃= 0;
//重复直到回合结束
{
对于(i = 0;i <= 1;i++)
{
num = rand(); // rand() 的最大值为 32767
die[i] = 1 + int(num * 6 / 32767);
}
滚动 = 骰子[0] + 骰子[1];
数字滚动++;
如果(点==0)
{
数字传递++;
如果((roll == 7)||(roll == 11))
{
赢+=赌注;
tbet += 赌注;
呃= 1;
es = 1;
}
否则,如果((roll == 2)||(roll == 3)||(roll == 12))
{
呃= 1;
赢-=赌注;
tbet += 赌注;
}
别的
{
点 = 滚动;
numodds++;
}
}
否则,如果(roll == point)
{
如果((roll == 4)||(roll == 10))
{
赢 += 5 * 赌注;
tbet += 3 * 赌注;
}
否则,如果((roll==5)||(roll==9))
{
赢 += 4 * 赌注;
tbet += 3 * 赌注;
}
别的
{
赢 += 4 * 赌注;
tbet += 7 * 赌注 / 2;
}
呃= 1;
es = 1;
}
否则,如果(roll == 7)
{
如果((点 == 6)||(点 == 8))
{
赢 -= 7 * 赌注 / 2;
tbet += 7 * 赌注 / 2;
}
别的
{
赢 -= 3 * 赌注;
tbet += 3 * 赌注;
}
呃= 1;
}
} while (er == 0); //重复直到回合结束
如果(tbet>1000000000)
{
比尔++;
tbet-= 1000000000;
}
如果(胜利>最大)
{
最大=胜利;
}
如果(es == 0)
{
如果 (赌注 == ***) { 赌注 = ***; } 其他
如果 (赌注 == ***) { 赌注 = ***; } 其他
如果 (bet == ***) { es = ***; }
}
} while (es == 0); // 重复直到系列结束
} while (numroll < n); //重复直到实验结束
cerr << "总掷骰数 = " << numroll << "\n";
cerr << "总通过线投注 = " << numpass << "\n";
cerr << "总赔率投注 = " << numodds << "\n";
cerr << "总奖金 = " << win << "\n";
cerr << "总投注 = " << bil << " 十亿 + " << tbet << "\n";
cerr << "高额奖金 = " << max << "\n";
}