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); }
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); }
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; }
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)); }
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()); }