コード例 #1
0
    public static string GetColorNameWithType(ENUM_CARD_COLOR color)
    {
        string colorstring = "";

        switch (color)
        {
        case ENUM_CARD_COLOR.NONE:
            break;

        case ENUM_CARD_COLOR.RED:
            colorstring = "red";
            break;

        case ENUM_CARD_COLOR.YELLOW:
            colorstring = "yellow";
            break;

        case ENUM_CARD_COLOR.BLUE:
            colorstring = "blue";
            break;

        case ENUM_CARD_COLOR.GREEN:
            colorstring = "green";
            break;

        default:
            break;
        }
        return(colorstring);
    }
コード例 #2
0
    public static string GetColorChinaNameWithType(ENUM_CARD_COLOR color)
    {
        string colorstring = "";

        switch (color)
        {
        case ENUM_CARD_COLOR.NONE:
            break;

        case ENUM_CARD_COLOR.RED:
            colorstring = "红色";
            break;

        case ENUM_CARD_COLOR.YELLOW:
            colorstring = "黄色";
            break;

        case ENUM_CARD_COLOR.BLUE:
            colorstring = "蓝色";
            break;

        case ENUM_CARD_COLOR.GREEN:
            colorstring = "绿色";
            break;

        default:
            break;
        }
        return(colorstring);
    }
コード例 #3
0
    void SetCardSprite(CardStruct card)
    {
        string spName = "";

        ENUM_CARD_TYPE  cardType  = (ENUM_CARD_TYPE)card.CardType;
        ENUM_CARD_COLOR cardColor = (ENUM_CARD_COLOR)card.CardColor;

        switch (cardType)
        {
        case ENUM_CARD_TYPE.NONE:
            break;

        case ENUM_CARD_TYPE.NUMBER:
        case ENUM_CARD_TYPE.STOP:
        case ENUM_CARD_TYPE.FLIP:
        case ENUM_CARD_TYPE.DRAW2:
            spName = Utils.GetCardTypeNameWithType(cardType) + "_" + Utils.GetColorNameWithType(cardColor);
            break;

        case ENUM_CARD_TYPE.WILD:
        case ENUM_CARD_TYPE.WILD_DRAW4:
            spName = Utils.GetCardTypeNameWithType(cardType);
            break;

        default:
            break;
        }
        _bg.spriteName = spName;
    }
コード例 #4
0
ファイル: Card_Number.cs プロジェクト: HugoFang/Uno
    public override bool CanPlayCard(Card lastCard)
    {
        ENUM_CARD_COLOR CardColor     = (ENUM_CARD_COLOR)MyCardStruct.CardColor;
        ENUM_CARD_COLOR LastCardColor = (ENUM_CARD_COLOR)lastCard.MyCardStruct.CardColor;

        /*
         * ENUM_CARD_TYPE cardType = (ENUM_CARD_TYPE)
         * int CardNumber = MyCardStruct.CardNumber;
         * int LastCardNumber = lastCard.MyCardStruct.CardNumber;
         *
         * switch (card)
         * {
         *  default:
         *      break;
         * }
         * switch ((ENUM_CARD_TYPE)lastCard.MyCardStruct.CardType)
         * {
         *  case ENUM_CARD_TYPE.NONE:
         *      break;
         *  case ENUM_CARD_TYPE.NUMBER:
         *      if (CardNumber == LastCardNumber || CardColor == LastCardColor) return true;
         *      break;
         *  case ENUM_CARD_TYPE.PASS:
         *      if (!lastCard.HasEffect) return true;
         *      break;
         *  case ENUM_CARD_TYPE.FLIP:
         *      if (!lastCard.HasEffect) return true;
         *      break;
         *  case ENUM_CARD_TYPE.DRAWTWO:
         *      if (!lastCard.HasEffect && LastCardColor == CardColor) return true;
         *      break;
         *  case ENUM_CARD_TYPE.WILD:
         *      if (!lastCard.HasEffect && LastCardColor == CardColor) return true;
         *      break;
         *  default:
         *      break;
         * }
         */
        return(base.CanPlayCard(lastCard));
    }
コード例 #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());
    }