1

MATLAB で作成している Yahtzee ゲームで 5 つのサイコロを振ってシミュレートしようとしていますが、1000 回以上の反復を実行した後、コードが yahtzee を生成していないように見えるという問題が発生しています。Yahtzee (同じ数字の 5) がロールされることを保証する関数を使用していますか?

while rounds<=13
    fprintf('Rolling the dice...\n');
    roll=randi(6,1,5);
    roll=sort(roll);
    fprintf('You rolled:');
    disp(roll);
    rollCount=rollCount+1;

    for x=rule
        if roll==rule{1};
            fprintf('Condition Met');
            break;
        end
    end
    rounds=rounds+1;

end

これは基本的に、13 ラウンドのローリングを繰り返し、[1 1 1 1 1] を含む配列である "rule{1}" に対してロールをチェックします。3、時には 4 の 1 を取得するのに問題はないようですが、5 を取得できません。何か提案はありますか?

4

1 に答える 1

0

Ryan Cavanaugh が指摘したように、必要な結果を取得するのに十分なサンプルが実行されていませんでした。シミュレーションを 10000 回実行するように調整したところ、意図したとおりに動作しました。

于 2013-03-18T22:50:49.207 に答える