私はこれらの2つの機能を持っています:
function drawNumber($drawnNumbers){
$unique = true;
while ($unique == true){
$number = mt_rand(10, 69);
if (!in_array($number, $drawnNumbers)){
return $number;
$unique = false;
}
}
}
fillCard(); ?>
ビンゴゲームです。カードは乱数でいっぱいになります。しかし、私はこのようにそれを得ることができません:
column column column column column column
row 10 13 16 14 16 19
row 24 26 28 29 23 21
row 36 33 39 30 31 35
row 46 48 42 45 43 47
row 59 56 51 52 58 50
row 60 65 68 62 61 67
したがって、最初の行に 10 から 19 の数字、2 番目の行に 20 から 29 などを配置したいと思います。
私はこのようにしてみました
<?php drawnNumber(): $number = mt_rand(0,9);
fillArray(): $number = $row . $number; ?>
しかし、カードには二重の数字があるため、うまくいきません。
その前に、in_array を使用して別の方法で試してみました。
<?php
function fillCard(){
$card = array();
/* fill card with random numbers */
for($i = 0, $min = 10, $max = 19; $i < 6; $i++, $min+=10, $max += 10)
{
for($j = 0; $j < 6; $j++)
{
$number = mt_rand($min,$max) ;
if(!in_array($number, $card){
$card['row' . $i]['column' . $j]['number'] = $number;
$card['row' . $i]['column' . $j]['found'] = 0;
}
}
}
var_dump($card);
return $card;
} ?>
しかし、カードにはまだ二重の乱数があります。この 2 週間で他の方法をいくつか試しましたが、うまく連携できませんでした。一方が成功すると、もう一方は失敗します。
乱数は取得できますが、カード内の一意の乱数は取得できません。誰かが私を助けてくれることを願っています。(追加情報: これはビンゴ ゲームです。つまり、 drawNumber() は「ボール」であり、描画されて配列 $DrawingNumbers に格納されます。これらは一意の乱数でもあります。fillCard() は、ビンゴ カードを埋める関数であり、 $drawNumber が $card にあるかどうかを調べます)
誰かがそれを機能させる方法を教えてくれれば、助けていただければ幸いです。多分アルゴリズムの方法で、または他のコードで?前もって感謝します。