0

私はいくつかの乱数発生器に取り組んでいます。それは、すべてのサイコロがゲームに勝ったのと同じ数字を返す場合は、サイコロを転がすようなものです。そうでない場合は、もう一度試してください。

6 つのサイコロを取得するために、mt_rand 関数を使用し、サイコロごとに個別に使用したので、次のようになりました。

$first = mt_rand(1,6);
$second = mt_rand(1,6);
$third = mt_rand(1,6);
$fourth = mt_rand(1,6);
$fifth = mt_rand(1,6);
$sixth = mt_rand(1,6);

しかし、複数のランダムに生成された数値のオペランドを返す方法がわかりません。

私が2つのサイコロのように使うなら、私はただ使うだろう

if ( $first === $second ) 

最初と 2 番目のサイコロの両方が 2 を返した場合に true を返します

しかし、6 つのサイコロすべてが 2 を返す場合に true をエコーし​​たい場合、どのように使用すればよいでしょうか?

編集:番号2は、番号2のみが必要な場合の単なる例です。配列と変数でそれを行う方法を知っていますが、ポイントは、一致するすべての番号のみが必要であるということです.1から6までのどの番号でもかまいません.そして最初の答えは実際には機能しますが、配列でできるかどうか見てみましょう。

4

2 に答える 2

2
$diceCount = 6;
$diceArray = array();
for($i=1; $i<=$diceCount; $i++) {
    $diceArray[] = mt_rand(1,6);
}
if (count(array_count_values($diceArray) == 1) {
    echo 'All the dice have the same number';
}
于 2013-09-11T23:06:43.823 に答える