2004-12-05 06:34:59
テーマ:ネタ系

ビンゴ@ドラクエ8の期待値

ドラクエⅧのカジノにはビンゴゲームがありますが、儲かるゲームなのか損するゲームなのか知りたかったので、プログラムを書いて実験してみました。

プログラムでは以下を仮定しました。
・全てのボールが公平に出る
・ビンゴカードは右上から1,2,3,4と順番に並んでいる事にする(勝率?には影響しないので)

標準乱数を使っている辺りが不安ですが大勢には影響ない範囲でしょう。
プログラムに間違い等ありましたら突っ込みお願いします。
3000万ゲームで回収率2.58(258%)と出ました。


//---------------------------------------------------------------
#include<iostream>

using namespace std;

const int kaisuu = 30000000;

bool card[5][5];
double score[] = {0,0,0,400,200,100,50,25,10,5};

bool isbingo()
{
for(int i = 0;i < 5;i++)
{
if(card[i][0] && card[i][1] && card[i][2] && card[i][3] && card[i][4])return true;
if(card[0][i] && card[1][i] && card[2][i] && card[3][i] && card[4][i])return true;
}

if(card[0][0] && card[1][1] && card[2][2] && card[3][3] && card[4][4])return true;
if(card[4][0] && card[3][1] && card[2][2] && card[1][3] && card[0][4])return true;
return false;
}

int main()
{

double haitou = 0;
for(int l = 0;l < kaisuu;l++)
{
for(int i = 0;i < 5;i++)
for(int j = 0;j < 5;j++)
card[i][j] = false;

card[2][2] = true;

for(int i = 0;i < 10;i++)
{
int ball = rand() % 25;
if(card[ball/5][ball%5])
i--;
else
{
card[ball/5][ball%5] = true;
if(isbingo())
{
haitou += score[i];
break;
}
}
}
}

double kaishuuritu = haitou / (double)kaisuu;

cout << kaishuuritu << endl;

}
//---------------------------------------------------------------
AD
いいね!した人  |  リブログ(0)

AD

Ameba人気のブログ

Amebaトピックス

      ランキング

      • 総合
      • 新登場
      • 急上昇
      • トレンド

      ブログをはじめる

      たくさんの芸能人・有名人が
      書いているAmebaブログを
      無料で簡単にはじめることができます。

      公式トップブロガーへ応募

      多くの方にご紹介したいブログを
      執筆する方を「公式トップブロガー」
      として認定しております。

      芸能人・有名人ブログを開設

      Amebaブログでは、芸能人・有名人ブログを
      ご希望される著名人の方/事務所様を
      随時募集しております。