public static LandlordPokerType CheckCardType(List <uint> Cardlist) { LandlordPokerType type = LandlordPokerType.None; return(type); }
/// <summary> /// 判定出牌音效 /// </summary> /// <param name="cardlist"></param> public void CheckOperateSoundType(List <uint> cardlist, int sex) { cardlist = CardTools.CardValueSort(cardlist);//按值排序 switch (cardlist.Count) { case 0: int a = UnityEngine.Random.Range(1, 3); if (sex == 1) { SoundManager.Instance.PlaySound(UIPaths.GUOPAI_MAN + a.ToString()); } else { SoundManager.Instance.PlaySound(UIPaths.GUOPAI_WOMAN + a.ToString()); } break; case 1: int value = (int)cardlist[cardlist.Count - 1] % 100; if (sex == 1) { SoundManager.Instance.PlaySound(UIPaths.SINGLE_MAN + value.ToString()); } else { SoundManager.Instance.PlaySound(UIPaths.SINGLE_WOMAN + value.ToString()); } // SoundManager.Instance.PlaySound(UIPaths.SINGLE + value.ToString()); break; case 2: int value1 = (int)cardlist[cardlist.Count - 1] % 100; if (sex == 1) { SoundManager.Instance.PlaySound(UIPaths.DOUBLE_MAN + value1.ToString()); } else { SoundManager.Instance.PlaySound(UIPaths.DOUBLE_WOMAN + value1.ToString()); } //if (value1 > 2 && value1 < 16) //{ // SoundManager.Instance.PlaySound(UIPaths.DOUBLE + value1.ToString()); //} //else //{ // int value2 = (int)cardlist[1] % 100; // if (value2 > 2 && value2 < 16) // { // SoundManager.Instance.PlaySound(UIPaths.DOUBLE + value2.ToString()); // } // else // { // //对王 // } //} break; case 3: int value2 = (int)cardlist[cardlist.Count - 1] % 100; // SoundManager.Instance.PlaySound(UIPaths.THREECARD); if (sex == 1) { SoundManager.Instance.PlaySound(UIPaths.TRIPLE_MAN + value2.ToString()); } else { SoundManager.Instance.PlaySound(UIPaths.TRIPLE_WOMAN + value2.ToString()); } break; default: LandlordPokerType type = LandlordPokerType.None; try { // type = myQiPaiHelper.Instance.checkPokerType(cardlist); } catch (Exception e) { } switch (type) { case LandlordPokerType.Bomb: if (sex == 1) { SoundManager.Instance.PlaySound(UIPaths.BOOM_MAN); } else { SoundManager.Instance.PlaySound(UIPaths.BOOM_WOMAN); } SoundManager.Instance.PlaySound(UIPaths.BOOM); CardTypeAnim.Instance.PlayBoomAnim(); break; case LandlordPokerType.ContinueDoube: if (sex == 1) { SoundManager.Instance.PlaySound(UIPaths.LIANDUI_MAN); } else { SoundManager.Instance.PlaySound(UIPaths.LIANDUI_WOMAN); } // SoundManager.Instance.PlaySound(UIPaths.LIANDUI); CardTypeAnim.Instance.PlayLianDuiAnim(); break; case LandlordPokerType.ShuZi: if (sex == 1) { SoundManager.Instance.PlaySound(UIPaths.SHUNZHI_MAN); } else { SoundManager.Instance.PlaySound(UIPaths.SHUNZHI_WOMAN); } // SoundManager.Instance.PlaySound(UIPaths.SHUNZHI); CardTypeAnim.Instance.PlayShunZhiAnim(); break; case LandlordPokerType.WangBomb: if (sex == 1) { SoundManager.Instance.PlaySound(UIPaths.ROCK_MAN); } else { SoundManager.Instance.PlaySound(UIPaths.ROCK_WOMAN); } SoundManager.Instance.PlaySound(UIPaths.ROCK); CardTypeAnim.Instance.PlayRockAnim(); break; } break; } }
/// <summary> /// 王能当什么牌 /// </summary> /// <param name="CardList"></param> /// <returns></returns> public static List <uint> JokerInsteadForNum(List <uint> CardList) { List <int> indexList = new List <int>(); CardList = CardValueSort(CardList); LandlordPokerType type = LandlordPokerType.Bomb;// = myQiPaiHelper.Instance.checkPokerType(CardList); List <uint> newlist = new List <uint>(); List <uint> JokerList = new List <uint>(); List <uint> NoJokerList = new List <uint>(); if (!CardList.Contains(516) && !CardList.Contains(617))//看是否包含王 { return(CardList); } else { for (int i = 0; i < CardList.Count; i++) { if (CardList[i] == 516 || CardList[i] == 617) { JokerList.Add(CardList[i]); } else { NoJokerList.Add(CardList[i]); } } NoJokerList = CardValueSort(NoJokerList); } //下面都是包含王的情况 switch (type) { case LandlordPokerType.Signal: newlist = CardList; break; case LandlordPokerType.Double: switch (NoJokerList.Count) { case 0: newlist = CardList; break; case 1: newlist.Add(NoJokerList[0]); newlist.Add(NoJokerList[0] % 100 + 700); //补一张牌 break; } break; case LandlordPokerType.Three: switch (NoJokerList.Count) { case 0: newlist = CardList; break; case 1: newlist.Add(NoJokerList[0]); newlist.Add(NoJokerList[0] % 100 + 700); //补一张牌 newlist.Add(NoJokerList[0] % 100 + 700); //补一张牌 break; case 2: newlist.Add(NoJokerList[0]); newlist.Add(NoJokerList[1]); newlist.Add(NoJokerList[0] % 100 + 700); //补一张牌 break; } break; case LandlordPokerType.ShuZi: newlist = GetMostStraigth(NoJokerList, CardList.Count); break; case LandlordPokerType.ContinueDoube: newlist = GetMostDoubleStraigth(NoJokerList, CardList.Count); break; case LandlordPokerType.ContinueThreeNone: newlist = GetMostThreeStraigth(NoJokerList, CardList.Count); break; case LandlordPokerType.Bomb: for (int i = 0; i < NoJokerList.Count; i++) { newlist.Add(NoJokerList[i]); } for (int i = 0; i < JokerList.Count; i++) { newlist.Add(NoJokerList[0] % 100 + 700); } break; } return(newlist); }