牌型的定义在http://blog.csdn.net/csdn_cjt/article/details/78593140 第一章 这是第二章
下面是代码
#region isSelectCardCanPut
public static bool isSelectCardCanPut(List<int> myCards,DDZ_POKER_TYPE myCardType, List<int> lastCards, DDZ_POKER_TYPE lastCardTye)
{
// 我的牌和上家的牌都不能为null
if (myCards == null || lastCards == null)
{
return false;
}
if (myCardType == null || lastCardTye == null)
{
Debug.Log("上家出的牌不合法,所以不能出。");
return false;
}
// 上一首牌的个数
int prevSize = lastCards.Count;
int mySize = myCards.Count;
// 我先出牌,上家没有牌
if (prevSize == 0 && mySize != 0)
{
return true;
}
// 集中判断是否王炸,免得多次判断王炸
if (lastCardTye == DDZ_POKER_TYPE.KingBomb)
{
Debug.Log("上家王炸,肯定不能出。");
return false;
}
else if (myCardType == DDZ_POKER_TYPE.KingBomb)
{
Debug.Log("我王炸,肯定能出。");
return true;
}
// 集中判断对方不是炸弹,我出炸弹的情况
if (lastCardTye != DDZ_POKER_TYPE.FourBomb && myCardType == DDZ_POKER_TYPE.FourBomb)
{
return true;
}
//所有牌提前排序过了
int myGrade = myCards[0];
int prevGrade = lastCards[0];
// 比较2家的牌,主要有2种情况,1.我出和上家一种类型的牌,即