void mySwap(int x, int y, ref SyncListCardItem list) { var temp = list[x]; list[x] = list[y]; list[y] = temp; }
public void AddCard(SyncListCardItem cardList) { for (int i = 0; i < cardList.Count; i++) { CardStruct card = cardList[i]; AddCard(card); } }
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()); }
/// <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); }
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()); }