我发现很难找到卡片排名教程,甚至是一些可以阅读的源代码来为我指明正确的方向。
我基本上是朝着用多个创建多个函数的方向发展,in_array
并从头开始编写它们,因为这样做会使三个函数变得容易。例子
function is_trip($card1, $card2, $card3)
{
if (in_array($card1, $aces) && in_array($card2, $aces) && in_array($card3, $aces))
{
$score = 9500;
$rank = 'Three Aces';
}
if (in_array($card1, $kings) && in_array($card2, $kings) && in_array($card3, $kings))
{
$score = 9000;
$rank = 'Three Kings';
}
} And so on ...
所以这很可能适用于三条,但对于同花顺,我会使用一种按数字组织牌的方法,因为它们按花色顺序排列在数组中。
因此,希望同花顺很简单,就$highcard + $lowcard / 2 == $midcard
好像那是真的那么你就有同花顺。
至于直道,我被卡住了,很可能不得不在我目前的思维定势下使用数组,但是当它很可能更简单时,编写这似乎是很多代码..
对于同花,使用 并不难,in_array
因为我只需要1-13
14-26
27-39
40-52
在 an范围内in_array
确定同花,但是我需要$highcard
value $midcard
value 来发挥作用来确定与其他人的同花。
你可能会想到这一点,What's his question??
好吧,我的问题是.. 我对牌的排名是否正确,我应该使用桶计数方法将排名放入位码并使用查找表吗?或者,如果我的方法完全愚蠢,你有什么建议我应该去哪里。
提前感谢您的帮助。