WOO logo

在这一页

取消投注系统分析器的源代码

简介

以下程序是用 C++ 编写的。它非常简单,任何有一点 C++ 经验的人都应该能够理解它的工作原理。抱歉,文档不足,但只要遵循其逻辑,应该不难理解它是怎么回事。

//
// 取消系统分析器
// 1998年10月19日
//

#include <iostream.h>
#include <stdlib.h>
#include <string.h>
#包括<math.h>
#包括<时间.h>
#包括 <stdio.h>

无效 tenbet();

int main()
{
字符 ch;

做
{
    滕贝特();

    cerr << "再玩一次?";
    cin >> ch;
}
while ((ch == 'y') || (ch == 'Y'));

返回 0;
}

无效 tenbet()
{
int maxloss,num,bet[1000],lpt,rpt,i,j,curbet,bank,result[2],randwin,g;

长投注,旋转;

cerr << "输入最大损失"; cin >> maxloss;
cerr << "输入试验次数 "; cin >> num;
cerr << "轮盘赌(1) 还是掷骰子(2)? "; cin >> g;

结果[0] = 0;
结果[1] = 0;
投注 = 0;
旋转=0;

如果(g == 1)
{
    兰德温 = 32767 * 18/38;
}
别的
{
    兰德温 = 32767 * 244 / 495;
}

对于(i = 1;i <= num;i++)
{
    银行=0;
    lpt=1;
    rpt=10;

    对于(j = 1;j <= 10;j++)
    {
        赌注[j] = 1;
    }

    做
    {
        如果(rpt == lpt)
        {
            curbet = 赌注[rpt];
        }
        别的
        {
            curbet = 赌注[lpt] + 赌注[rpt];
        }

        while ((maxloss+bank < curbet)&&(maxloss+bank > 0))
        {
            旋转++;

            如果(最大损失 + 银行 >= 赌注[lpt])
            {
                totbet += 赌注[lpt];

                如果(rand()<= randwin)
                {
                    银行 += 赌注[lpt];
                    lpt++;
                }
                别的
                {
                    银行-=赌注[lpt];
                    赌注[lpt] *= 2;
                }
            }
            别的
            {
                totbet += (最大损失 + 银行);

                如果(rand()<= randwin)
                {
                    赌注[lpt] -= (最大损失 + 银行);
                    银行 += (最大损失 + 银行);
                }
                别的
                {
                    银行 -= (最大损失 + 银行);
                }
            }

            如果(rpt == lpt)
            {
                curbet = 赌注[rpt];
            }
            别的
            {
                curbet = 赌注[lpt] + 赌注[rpt];
            }
        }

        如果(最大损失 + 银行 > 0)
        {
            totbet+=curbet;
            旋转++;

            如果(rand()<= randwin)
            {
                lpt++;
                rpt--;
                银行+= curbet;
            }
            别的
            {
                rpt++;
                赌注[rpt] = curbet;
                银行 -= 路缘;
            }
        }
    }
    while ((lpt <= rpt) && (maxloss + bank > 0));

    如果(最大损失+银行==0)
    {
        结果[1]++;
    }
    别的
    {
        结果[0]++;
    }

    如果(i%100000 == 0)
    {
        cerr << i << "\n";
    }
}

cerr << "最大损失:" << maxloss << "\n";
cerr << "损失概率:" << (float)(result[1])/(float)(num) << "\n";
cerr << "平均旋转次数:" << (float)(spins)/(float)(num) << "\n";
cerr << "平均赌注:" << (float)(totbet)/(float)(num)<<"\n";
cerr << "胜利:" << result[0]<<"\n失败:"<<result[1]<<"\n";
cerr << "总投注:" << totbet<<"\n";
cerr << "总赢/输: " << (result[0]*10)-(result[1]*maxloss) << "\n";
cerr << "总旋转次数:" << 旋转 << "\n";
cerr << "净亏损:" << (float)((result[0]*10)-(result[1]*maxloss))/(float)totbet << "\n";
}