示例#1
0
    void mySwap(int x, int y, ref SyncListCardItem list)
    {
        var temp = list[x];

        list[x] = list[y];
        list[y] = temp;
    }
示例#2
0
 public void AddCard(SyncListCardItem cardList)
 {
     for (int i = 0; i < cardList.Count; i++)
     {
         CardStruct card = cardList[i];
         AddCard(card);
     }
 }
示例#3
0
    public override bool Execute()
    {
        SyncListCardItem cardList = _cardsMgr.OpenCardList;

        for (int i = (int)cardList.Count - 1; i >= 1; i--)
        {
            mySwap(i, (int)Random.Range(0, 100000) % ((int)cardList.Count - i), ref cardList);
        }

        return(base.Execute());
    }
示例#4
0
    /// <summary>
    /// 能否出牌
    /// </summary>
    /// <param name="playCards">当前牌组</param>
    /// <param name="lastCard">上一张牌</param>
    /// <param name="isLastOne">是否是最后一张牌</param>
    /// <returns></returns>
    public static bool IsPlayWithCards(SyncListCardItem playCards, CardStruct lastCard, bool isLastOne)
    {
        if (playCards == null || playCards.Count == 0)
        {
            return(false);
        }

        for (int i = 0; i < playCards.Count; i++)
        {
            CardStruct curCard = playCards[i];
            if (!IsPlayWithCard(curCard, lastCard, isLastOne))
            {
                return(false);
            }
        }

        return(true);
    }
示例#5
0
    public override bool Execute()
    {
        SyncListCardItem OpenCardList = _cardsMgr.OpenCardList;

        for (int j = 1; j <= CardsMgr.MaxColorNumber; j++)
        {
            ENUM_CARD_COLOR myColor = (ENUM_CARD_COLOR)j;

            //0数字牌1张
            {
                CardStruct card = new CardStruct();
                card.CardNumber = 0;
                card.CardColor  = j;
                card.CardType   = (int)ENUM_CARD_TYPE.NUMBER;
                OpenCardList.Add(card);
            }

            //每种颜色2张
            for (int s = 0; s < 2; s++)
            {
                //创建普通牌 1-9
                for (int i = 1; i < 10; i++)
                {
                    CardStruct card = new CardStruct();
                    card.CardNumber = i;
                    card.CardColor  = j;
                    card.CardType   = (int)ENUM_CARD_TYPE.NUMBER;
                    OpenCardList.Add(card);
                }

                //创建禁止牌
                {
                    CardStruct card = new CardStruct();
                    card.CardType  = (int)ENUM_CARD_TYPE.STOP;
                    card.CardColor = j;
                    OpenCardList.Add(card);
                }

                //创建翻转牌
                {
                    CardStruct card = new CardStruct();
                    card.CardType  = (int)ENUM_CARD_TYPE.FLIP;
                    card.CardColor = j;
                    OpenCardList.Add(card);
                }

                //创建+2牌
                {
                    CardStruct card = new CardStruct();
                    card.CardType  = (int)ENUM_CARD_TYPE.DRAW2;
                    card.CardColor = j;
                    OpenCardList.Add(card);
                }
            }

            //创建wild,总共4张
            {
                CardStruct card = new CardStruct();
                card.CardType = (int)ENUM_CARD_TYPE.WILD;
                OpenCardList.Add(card);
            }

            //创建wild draw4,总共4张
            {
                CardStruct card = new CardStruct();
                card.CardType = (int)ENUM_CARD_TYPE.WILD_DRAW4;
                OpenCardList.Add(card);
            }
        }

        for (int j = 0; j < OpenCardList.Count; j++)
        {
            CardStruct item = OpenCardList[j];
            item.UID        = j;
            item.HasEffect  = true;
            OpenCardList[j] = item;
        }

        return(base.Execute());
    }