我之前从未使用过PHP,但基本上这个程序应该运行36,000次,并且每次掷出两个骰子时,总数就会得到一个"计数器。"现在,它输出它已经滚动的任何数字" 36,000个标签"代替。
这是我的代码:
<?php
$dice = (rand(1,6) + rand(1,6));
$roll = array();
for ($result = 0; $result < 36000; $result++){
if ($dice == 2){
$roll[2]++;
}
if ($dice == 3){
$roll[3]++;
}
if ($dice == 4){
$roll[4]++;
}
if ($dice == 5){
$roll[5]++;
}
if ($dice == 6){
$roll[6]++;
}
if ($dice == 7){
$roll[7]++;
}
if ($dice == 8){
$roll[8]++;
}
if ($dice == 9){
$roll[9]++;
}
if ($dice == 10){
$roll[10]++;
}
if ($dice == 11){
$roll[11]++;
}
if ($dice == 12){
$roll[12]++;
}
}
?>
答案 0 :(得分:6)
初始化所有可能性并在循环内添加骰子卷。
<?php
$roll = array();
$roll[2] = 0;
$roll[3] = 0;
$roll[4] = 0;
$roll[5] = 0;
$roll[6] = 0;
$roll[7] = 0;
$roll[8] = 0;
$roll[9] = 0;
$roll[10] = 0;
$roll[11] = 0;
$roll[12] = 0;
for ($result = 0; $result < 36000; $result++){
$dice = (rand(1,6) + rand(1,6));
$roll[$dice]++;
}
var_dump($roll);
输出:
array(11) {
[2]=>
int(962)
[3]=>
int(1999)
[4]=>
int(3019)
[5]=>
int(3923)
[6]=>
int(4929)
[7]=>
int(6083)
[8]=>
int(5076)
[9]=>
int(3971)
[10]=>
int(3006)
[11]=>
int(2017)
[12]=>
int(1015)
}
答案 1 :(得分:4)
您需要在 for 循环中移动 $ dice = rand ... 行