问题:为我的网络编程课创建一个视频扑克游戏。
除了我在下面的逻辑中遗漏了一些东西外,我还有其他一切工作。当我只有 3 个同类时,满屋返回 true。
我知道我对 3 种此类作品的逻辑。但是,当比较未涉及 3 of a Kind 的两张牌时,就会出现问题。
这是代码:
//Calculate if Full House exist
function checkHouse()
{
$kindFlag = false;
$pairFlag = false;
$tempCardValue = 0;
$temp = array();
$counter = 0;
//check for 3 of a kind, save card positions so they aren't tested for a pair
for($i=0; $i<3; $i++)
{
for($j=($i+1); $j<4; $j++)
{
for($k=($j+1); $k<5; $k++)
{
if($this->Hand[$i]->GetSortValue() == $this->Hand[$j]->GetSortValue() && $this->Hand[$i]->GetSortValue() == $this->Hand[$k]->GetSortValue())
{
$kindFlag = true;
$tempCardValue = $this->Hand[$i]->GetSortValue();
break 3;
}
}
}
}
//Checks 2 remaining cards to see if they match
for($i=0; $i<5; $i++)
{
if($this->Hand[$i]->GetSortValue() != $tempCardValue)
{
$temp[$counter] = $this->Hand[$i]->GetSortValue();
$counter++;
}
}
if($temp[0] == $temp[1])
{
$pairFlag = true;
}
//Computes Full House or not
if($pairFlag && $kindFlag)
return true;
else
return false;
}