【发布时间】:2013-03-07 10:57:30
【问题描述】:
我正在尝试为我在 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 1]。获得 3 个,有时是 4 个 1s 似乎没有问题,但我无法获得 5 个。有什么建议吗?
【问题讨论】:
-
6^5 是 7776。您不应该期望 [1 1 1 1 1] 经常迭代 1,000 次。
-
多哈。我想你是对的。没想到概率这么低。我将其更改为 10000 次迭代,我可以看到它在获得正确的序列后停止。感谢您的帮助。