private static bool OrderLessOne(List <Card> afterRemoveCards) { foreach (var card in afterRemoveCards) { List <Card> checkCards = new List <Card>(afterRemoveCards); WinCardModel winCardModel = new WinCardModel(); winCardModel.IsZiMoWin = true; bool samePairs = WinALG.FindAndRemovePairs(ref checkCards, winCardModel, card); if (!samePairs) { continue; } if (WinALG.IsOneLessAllOrderAndBigPairs(checkCards, winCardModel)) { return(true); } else { int count = winCardModel.CardSectionList.Count; for (int i = 1; i < count; i++) { winCardModel.CardSectionList.RemoveAt(count - i); } if (WinALG.IsOneLessAllSamllPairs(checkCards, winCardModel)) { return(true); } } } return(false); }
/// <summary> /// 判断是否可以胡牌 /// </summary> /// <param name="cardList"></param> /// <returns></returns> public static bool IsCanWinCard(ref List <Card> cardList, bool IsZiMo) { List <WinCardModel> cardModels = WinALG.Win(cardList, IsZiMo); return(cardModels.Count > 0); }