WOO logo

このページ

キャンセルベッティングシステムアナライザーのソースコード

概要

以下のプログラムはC++で書かれています。非常にシンプルなので、C++を少し使ったことがある人なら誰でも動作を理解できるはずです。説明が不足していることをお詫びしますが、ロジックを追っていけば、何が起こっているのかは簡単に理解できるはずです。

//
// キャンセルシステムアナライザー
// 1998年10月19日
//

#include <iostream.h>
#include <stdlib.h>
#include <文字列.h>
#include <math.h>
#include <time.h>
#include <stdio.h>

void テンベット();

int メイン()
{
char ch;

する
{
    テンベット();

    cerr << "もう一度プレイしますか? ";
    cin >> ch;
}
while ((ch == 'y') || (ch == 'Y'));

0を返します。
}

void テンベット()
{
int maxloss, num, bet[1000], lpt, rpt, i, j, curbet, bank, result[2], randwin, g;

ロングトットベット、スピン;

cerr << "最大損失を入力してください "; cin >> maxloss;
cerr << "試行回数を入力してください "; cin >> num;
cerr << "ルーレット(1) それともクラップス(2)? ";シン >> グラム;

結果[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;
    }

    する
    {
        if (rpt == lpt)
        {
            curbet = bet[rpt];
        }
        それ以外
        {
            カーブベット = ベット[lpt] + ベット[rpt];
        }

        ((最大損失+銀行残高 < 抑制額)&&(最大損失+銀行残高 > 0))
        {
            スピン++;

            if (最大損失 + 銀行 >= 賭け[lpt])
            {
                トータルベット += ベット[lpt];

                もし (rand() <= randwin)
                {
                    バンク += ベット[lpt];
                    lpt++;
                }
                それ以外
                {
                    銀行 -= 賭け[lpt];
                    賭け[lpt] *= 2;
                }
            }
            それ以外
            {
                totbet += (最大損失 + バンク);

                もし (rand() <= randwin)
                {
                    bet[lpt] -= (最大損失 + バンク);
                    銀行 += (最大損失 + 銀行);
                }
                それ以外
                {
                    銀行 -= (最大損失 + 銀行);
                }
            }

            if (rpt == lpt)
            {
                curbet = bet[rpt];
            }
            それ以外
            {
                カーブベット = ベット[lpt] + ベット[rpt];
            }
        }

        (最大損失 + 銀行 > 0)の場合
        {
            totbet+=curbet;
            スピン++;

            もし (rand() <= randwin)
            {
                lpt++;
                rpt--;
                銀行 += 縁石;
            }
            それ以外
            {
                rpt++;
                bet[rpt] = カーベット;
                銀行 -= カーブ;
            }
        }
    }
    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";
}