コード例 #1
0
    public static LandlordPokerType CheckCardType(List <uint> Cardlist)
    {
        LandlordPokerType type = LandlordPokerType.None;

        return(type);
    }
コード例 #2
0
    /// <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;
        }
    }
コード例 #3
0
    /// <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);
    }