作者laechan (小太保)
看板mud_sanc
标题[闲聊] 七张牌选五的判断方式
时间Fri Feb 15 15:33:38 2008
假设七张牌是..
梅花八 红心四 梅花二 黑桃K 黑桃九 红心八 方块J
先对上面排序..
黑桃K 方块J 黑桃九 红心八 梅花八 红心四 梅花二
一、先去对七张牌的花色做检查,若判断到有五张以上的花色相
同时就做标记,判断的方式是...
foreach(每种花色)
{
foreach(七张牌)
{
有该花色就+1;
}
统计该花色张数共几张,
若有达 5 张就在「七张牌中可能有同花」的参数上备注
同时 break;
}
二、接着从最大的开始判断,若它只有孤支,就判断下一支是否
为它的值 -1,不是的话就跳过该支判断,是的话就在「七张
牌中可能有顺子」的参数上备注。
若中途判断到不是孤支的情况,就判断相同牌值的张数共几
支,两支的话...
若「七张牌中可能有对子」已存在,就在「七张牌中可能
有两对」的参数上备注,不然就在「七张牌中可能有对子
」中备注。
三支的话...
若「七张牌中可能有对子」已存在,就在「七张牌中可能
有葫芦」的参数上备注,不然就在「七张牌中可能有三条
」中备注。
四支的话,在「七张牌中可能有铁支」中备注。
三、开始检查参数。
依序是「同花+顺子」->铁支 -> 葫芦 -> 同花 -> 顺子 ->
三条 -> 两对 -> 一对 -> 杂牌
四、参数挑出後,再去从七张牌中依所挑的参数,去挑出对映的
五张牌。
Laechan
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.162.97.237
※ 编辑: laechan 来自: 218.162.97.237 (02/15 15:44)
※ 编辑: laechan 来自: 218.162.97.237 (02/15 15:45)