【发布时间】:2016-05-18 00:16:31
【问题描述】:
我正在尝试创建一个扑克版本,其中程序向每个玩家(其中 6 个)分发 2 张牌。我想出了一个程序,可以为每个玩家随机选择 1 张牌,但问题是有时,2 个玩家会得到同一张牌。我解决这个问题的尝试是根据数组中的卡片位置+循环值给每个循环一个不同的值,然后将它与早期的循环进行比较,但没有任何成功......
这是我目前“工作”的程序:
<?php
$colour = array('Heart', 'Diamonds', 'Spades', 'Clubs');
$card = array('Ace', 2, 3, 4, 5, 6, 7, 8, 9, 10, 'Jack', 'Queen', 'King');
for($i=1; $i<=6;$i++)
{
$m = 0;
$n = 0;
$random1 = array_rand($card);
echo $card[$random1];
$m = $card[$random1];
$random2 = array_rand($colour);
echo " ". $colour[$random2];
$n = $colour[$random2];
}
?>
我应该如何继续?有没有更简单的方法来做到这一点?
【问题讨论】:
-
尝试
shuffle($arr);,然后尝试$value=array_shift($arr);。