このページ
キャンセルベッティングシステムアナライザーのソースコード
概要
以下のプログラムは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"; }