- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试将一手五张牌发给一位玩家并计分。我的计分程序似乎运行良好,但我时常遇到重复发牌的问题。我尝试使用 while 循环来检查重复的卡片,但这似乎有点老套。我的代码如下。请记住,我绝对是新手,所以解决方案越简单越好!非常感谢。
// create suits array
$suits = array("996", "997", "998", "999");
// create faces array
$faces = array();
$faces[1] = "1";
$faces[2] = "2";
$faces[3] = "3";
$faces[4] = "4";
$faces[5] = "5";
$faces[6] = "6";
$faces[7] = "7";
$faces[8] = "8";
$faces[9] = "9";
$faces[10] = "10";
$faces[11] = "11";
$faces[12] = "12";
$faces[13] = "13";
// create player's hand
$card = array();
for ($i = 0; $i < 5; $i++)
{
$face_value = shuffle($faces);
$suit_value = shuffle($suits);
$card[$i] = $faces[$face_value].$suits[$suit_value];
$counter = 0;
while ($counter < 100)
{
if (in_array($card[$i], $card))
{
$face_value = shuffle($faces);
$suit_value = shuffle($suits);
$card[$i] = $faces[$face_value].$suits[$suit_value];
}
$counter++;
}
print ("<img src=\"../images/4/$card[$i].gif\">");
}
最佳答案
简单地设置一个包含 52 个元素的数组可能更有效,每个元素对应一张卡片。
$cards = range(0,51);
shuffle($cards);
$hand = array();
for ($i = 0; $i < 5; $i++)
{
$hand[$i] = $cards[$i];
}
请注意,您可以通过以下操作简单地提取出一张牌 $i
的花色和点数
$suit = $hand[$i] % 4;
$rank = $hand[$i] / 4;
这将防止重复。
编辑:花色和等级颠倒了。他们现在应该是正确的。
关于php - 如何从玩家手中移除重复的扑克牌?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15602651/
我正在尝试编写生成 4 手随机扑克牌的代码 (来源:wiseowl.co.uk) 显然,这些值应该是唯一的。这是我已经尝试过的代码,但是我无法使其工作。 Sub poker_is_hard() Dim
我正在尝试编写一个小程序来显示卡片包以及其他内容。 我有一个文件夹,里面有 52 张卡片图像。 如何为 Card 对象的每个实例分配图像? 我需要在对象内创建一个 52 图像数组,然后为每张卡分配正确
我试图让我的游戏中的扑克牌重叠,这样只能看到一张牌的前半部分,而另一半被下一张扑克牌覆盖。唯一应该完全可见的卡片是最后一张/最右边的卡片。 我将以下代码与 framelayout 和 relative
现在我知道了寻找顺子背后的基本逻辑,我假设其中包括一个伪 function is_straight(array $cards) { sort($cards); i
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 3 年前。 Improve this qu
我正在设计许多(希望是数千)玩家可以同时玩某些纸牌游戏的游戏网站。这副牌是标准的 52 张牌。每张牌都有花色和等级。牌将一直被洗牌、发牌、挑选、排序、打出。我的问题是,Card 应该是枚举、结构还是类
我遇到了一个真正令人困惑的错误,在过去的几个小时里我一直试图解决这个错误,但没有成功。我正在研究扑克实现。最初,我通过迭代循环生成卡片。 const suits = ['Heart', 'Spade'
我是一名优秀的程序员,十分优秀!