/// <summary> /// Заполняет колоду начиная с указанного достоинства карты /// </summary> /// <param name="startRank"></param> protected void CreateCards(PlayingCardRank startRank) { for (int i = (int)startRank, id = 1; i <= EnumUtils.MaxValue <PlayingCardRank>(); i++) { for (int j = EnumUtils.MinValue <PlayingCardSuit>(); j <= EnumUtils.MaxValue <PlayingCardSuit>(); id++, j++) { _cards.Add(new PlayingCard(id, (PlayingCardSuit)j, (PlayingCardRank)i)); } } }
public FirstMove(IReadOnlyList <PlayingCard> cards, PlayingCardRank rank, Guid initiatorId) { if (cards == null) { throw new ArgumentNullException(nameof(cards)); } Cards = cards; Rank = rank; InitiatorId = initiatorId; }
/// <summary> /// Build a standard deck of 52 playing cards /// </summary> /// <returns></returns> public static IList <PlayingCard> BuildDeck() { var deck = new List <PlayingCard>(52); for (PlayingCardSuit suit = PlayingCardSuit.Spades; suit <= PlayingCardSuit.Clubs; suit++) { for (PlayingCardRank rank = PlayingCardRank.Ace; rank <= PlayingCardRank.King; rank++) { deck.Add(new PlayingCard(rank, suit)); } } return(deck); }
public static string ToFriendlyString(this PlayingCardRank rank) { string str; if (rank == PlayingCardRank.None) { str = rank.ToString(); } else if (rank == PlayingCardRank.Jack || rank == PlayingCardRank.Queen || rank == PlayingCardRank.King || rank == PlayingCardRank.Ace || rank == PlayingCardRank.Joker) { str = rank.ToString(); } else { var val = (int)rank; str = val.ToString(); } return(str); }
public PlayingCard(int id, PlayingCardSuit suit, PlayingCardRank rank) { Id = id; Suit = suit; Rank = rank; }
public PlayingCard(PlayingCardRank rank, PlayingCardSuit suit) { Rank = rank; Suit = suit; }
/// <summary> /// Определяет входил ли в данный тип колоды указанный rank /// </summary> /// <param name="rank"></param> /// <returns></returns> public abstract bool IsRankContains(PlayingCardRank rank);
public static string AsString(this PlayingCardRank value) => Strings[value];
/// <summary> /// Creates a playing card. /// </summary> /// <param name="options">The options on how cards are played.</param> /// <param name="suit">The suit of the card.</param> /// <param name="rank">The rank of the card.</param> internal PlayingCard(PlayingCardOptions options, PlayingCardSuit suit, PlayingCardRank rank) { Rank = rank; Suit = suit; Options = options; }
public override bool IsRankContains(PlayingCardRank rank) { return(rank >= PlayingCardRank.Two); }
public PlayingCard(PlayingCardSuit suit, PlayingCardRank rank) { Suit = suit; Rank = rank; }