예제 #1
0
파일: CardTests.cs 프로젝트: vermeeca/Katas
        public void CardValueTest(CardValue value1, CardSuit suit1, CardValue value2, CardSuit suit2, int expected)
        {
            Card card1 = new Card(value1, suit1);
            Card card2 = new Card(value2, suit2);

            Assert.AreEqual(expected, card1.CompareTo(card2));
        }
예제 #2
0
 public Card(CardSuit suit, CardValue value, Image front, Image back)
 {
     Suit = suit;
     Value = value;
     FrontFace = front;
     BackFace = back;
 }
예제 #3
0
파일: CardUtils.cs 프로젝트: pJqEM5Kj/stuff
        public static string ConvertToString(CardValue cardValue)
        {
            switch (cardValue)
            {
                case CardValue._2:
                    return "2";
                case CardValue._3:
                    return "3";
                case CardValue._4:
                    return "4";
                case CardValue._5:
                    return "5";
                case CardValue._6:
                    return "6";
                case CardValue._7:
                    return "7";
                case CardValue._8:
                    return "8";
                case CardValue._9:
                    return "9";
                case CardValue._10:
                    return "t";
                case CardValue._Jack:
                    return "j";
                case CardValue._Queen:
                    return "q";
                case CardValue._King:
                    return "k";
                case CardValue._Ace:
                    return "a";
            }

            throw Utility.GetUnknownEnumValueException(cardValue);
        }
예제 #4
0
    public void PlayerCards_HighestCardShouldBeSelectedAsKicker()
    {
        CardValue firstCard = new CardValue(cardValues[0] + "_of_" + cardTypes[0]);
        CardValue secondCard = new CardValue(cardValues[4] + "_of_" + cardTypes[3]);

        Result result = new Result(new CardValue[] { firstCard, secondCard }, new CardValue[] { firstCard });

        Assert.AreEqual(secondCard, result.PlayerKicker);
    }
예제 #5
0
    public void CommunityCards_LowestCardShouldNotBeSelectedAsKicker()
    {
        CardValue firstCard = new CardValue(cardValues[0] + "_of_" + cardTypes[0]);
        CardValue secondCard = new CardValue(cardValues[7] + "_of_" + cardTypes[1]);
        CardValue thirdCard = new CardValue(cardValues[2] + "_of_" + cardTypes[3]);
        CardValue fourthCard = new CardValue(cardValues[9] + "_of_" + cardTypes[2]);
        CardValue fifthCard = new CardValue(cardValues[1] + "_of_" + cardTypes[0]);

        Result result = new Result(new CardValue[] { firstCard, secondCard }, new CardValue[] { firstCard, secondCard, thirdCard, fourthCard, fifthCard });

        Assert.AreNotEqual(firstCard, result.CommunityKicker);
    }
예제 #6
0
	public void CalculateResult_ResultShouldBePair()
	{
		CardValue firstCard = new CardValue(cardValues[0] + "_of_" + cardTypes[0]);
		CardValue secondCard = new CardValue(cardValues[5] + "_of_" + cardTypes[2]);
		CardValue thirdCard = new CardValue(cardValues[3] + "_of_" + cardTypes[3]);
		CardValue fourthCard = new CardValue(cardValues[8] + "_of_" + cardTypes[1]);
		CardValue fifthCard = new CardValue(cardValues[5] + "_of_" + cardTypes[0]);
		CardValue sixthCard = new CardValue(cardValues[1] + "_of_" + cardTypes[2]);
		CardValue seventhCard = new CardValue(cardValues[9] + "_of_" + cardTypes[3]);

		Result result = new Result(new CardValue[]{firstCard, secondCard}, new CardValue[]{thirdCard, fourthCard, fifthCard, sixthCard, seventhCard});
		result.CalculateResult();

		Assert.AreEqual((int) PlayerResult.Pair, result.ResultIndex);
	}
예제 #7
0
        /// <summary>
        /// Initializes a new instance of the <see cref="CardsGame"/> class.
        /// </summary>
        /// <param name="decks">The amount of decks in the game.</param>
        /// <param name="jokersInDeck">The amount of jokers in each deck.</param>
        /// <param name="suits">The suits which will appear in each deck. Multiple 
        /// values can be supplied using flags.</param>
        /// <param name="cardValues">The card values which will appear in each deck. 
        /// Multiple values can be supplied using flags.</param>
        /// <param name="minimumPlayers">The minimal amount of players 
        /// for the game.</param>
        /// <param name="maximumPlayers">The maximal amount of players 
        /// for the game.</param>
        /// <param name="tableBounds">The table bounds.</param>
        /// <param name="dealerPosition">The dealer position.</param>
        /// <param name="placeOrder">A function which translates a player's index to
        /// his rendering location on the game table.</param>
        /// <param name="theme">The name of the theme to use for the 
        /// game's assets.</param>
        /// <param name="game">The associated game object.</param>
        public CardsGame(int decks, int jokersInDeck, CardSuit suits, CardValue cardValues,
            int minimumPlayers, int maximumPlayers, GameTable gameTable, string theme, Game game)
        {
            rules = new List<GameRule>();
            players = new List<Player>();
            dealer = new CardPacket(decks, jokersInDeck, suits, cardValues);

            Game = game;
            MinimumPlayers = minimumPlayers;
            MaximumPlayers = maximumPlayers;

            this.Theme = theme;
            cardsAssets = new Dictionary<string, Texture2D>();
            GameTable = gameTable;
            GameTable.DrawOrder = -10000;
            game.Components.Add(GameTable);
        }
예제 #8
0
 public void TestHandForAStraightFlush(CardValue cardValue1, CardSuit cardSuit1, CardValue cardValue2, CardSuit cardSuit2,
     CardValue cardValue3, CardSuit cardSuit3, CardValue cardValue4, CardSuit cardSuit4,
         CardValue cardValue5, CardSuit cardSuit5)
 {
     var card1 = new Card(cardValue1, cardSuit1);
     _hand.AddCard(card1);
     var card2 = new Card(cardValue2, cardSuit2);
     _hand.AddCard(card2);
     var card3 = new Card(cardValue3, cardSuit3);
     _hand.AddCard(card3);
     var card4 = new Card(cardValue4, cardSuit4);
     _hand.AddCard(card4);
     var card5 = new Card(cardValue5, cardSuit5);
     _hand.AddCard(card5);
     var play = PokerRules.CheckPlay(_hand);
     Assert.AreEqual(PokerRules.PokerPlay.StraightFlush, play);
 }
예제 #9
0
파일: Result.cs 프로젝트: beansen/poker
	public Result(CardValue[] playerCards, CardValue[] communityCards)
	{
		playerKicker = playerCards[0].GetIntegerValue() > playerCards[1].GetIntegerValue() ? playerCards[0] : playerCards[1];

		communityKicker = communityCards[0];

		for (int i = 1; i < communityCards.Length; i++)
		{
			if (communityCards[i].GetIntegerValue() > communityKicker.GetIntegerValue())
			{
				communityKicker = communityCards[i];
			}
		}

		cards = new List<CardValue>();
		cards.AddRange(playerCards);
		cards.AddRange(communityCards);

		cards.Sort((p1, p2) => p1.GetIntegerValue().CompareTo(p2.GetIntegerValue()));
	}
예제 #10
0
        /// <summary>
        /// Initializes a new instance of the <see cref="CardPacket"/> class.
        /// </summary>
        /// <param name="numberOfDecks">The number of decks to add to 
        /// the collection.</param>
        /// <param name="jokersInDeck">The amount of jokers in each deck.</param>
        /// <param name="suits">The suits to add to each decks. Suits are specified 
        /// as flags and several can be added.</param>
        /// <param name="cardValues">The card values which will appear in each deck.
        /// values are specified as flags and several can be added.</param>
        public CardPacket(int numberOfDecks, int jokersInDeck,
            CardSuit suits, CardValue cardValues)
        {
            cards = new List<TraditionalCard>();

            for (int deckIndex = 0; deckIndex < numberOfDecks; deckIndex++)
            {
                AddSuit(suits, cardValues);

                for (int j = 0; j < jokersInDeck / 2; j++)
                {
                    cards.Add(new TraditionalCard(CardSuit.Club,
                        CardValue.FirstJoker, this));
                    cards.Add(new TraditionalCard(CardSuit.Club,
                        CardValue.SecondJoker, this));
                }

                if (jokersInDeck % 2 == 1)
                {
                    cards.Add(new TraditionalCard(CardSuit.Club,
                        CardValue.FirstJoker, this));
                }
            }
        }
예제 #11
0
파일: Game.cs 프로젝트: barneyCr/Players7
        internal void HandlePutCardCommand(Client sender, byte val, byte type)
        {
            Client onTurn = Players[this._turn];

            if (sender == onTurn)
            {   // todo check this check
                Card     putCard    = new Card(type, val);
                CardPack playerPack = this.Packs[onTurn];
                Card     lastCard   = PlayedCardsPack.Peek();

                if (playerPack.Contains(putCard)) // check if player actually has the card
                {
                    if (lastCard.Umflator)
                    {
                        // umflatorii se pun doar ca valoare ambivalenta, nu poti pune 3 INIMA peste 2 Inima
                        if (putCard.Umflator)
                        { // COREEECT
                            umfla(2);
                        }
                        else //if (!playerPack.Any(c => c.Umflator))
                        {
                            // jucatorul ALEGE SA NU DEA un umflator sau NU ARE SA DEA
                            OnCardsOwed();
                        }
                        SetNextTurn();
                    }
                    else // daca nu e umflator
                    {
                        CardValue equivalentValue = lastCard.Value;
                        if (lastCard.Type == putCard.Type)
                        {
                            MoveCard(playerPack, PlayedCardsPack, putCard);
                            // END TURN HERE
                            EndTurn();
                            return;
                        }
                        else if (equivalentValue == CardValue.Queen || equivalentValue == CardValue.King)
                        {
                            equivalentValue = (CardValue)(equivalentValue - 10);
                            //goto checkOnValue; // probably redundant
                        }
                        //checkOnValue:
                        if (equivalentValue == putCard.Value)
                        {
                            MoveCard(playerPack, PlayedCardsPack, putCard);
                            // END TURN HERE
                            EndTurn();
                            return;
                        }

                        // daca am ajuns aici, inseamna ca nu are sa dea carte
                        // daca este As => sta o tura
                        // daca nu este As=> primeste una
                        if (equivalentValue == CardValue.Ace)
                        {
                            // sit
                        }
                        else
                        {
                            Card onTop = this.PackOnTable.Pop();
                            GiveCardToPlayer(onTop, onTurn);
                        }
                        EndTurn();
                        return;
                    }
                }
            }
            else
            { // not his turn
                sender.Send(Packet.CreatePacket(HeaderTypes.GAME_PLAYER_PUT_CARD_ERROR));
            }
        }
예제 #12
0
	public void SetPlayerCard(int index, CardValue cardValue)
	{
		tempPlayerCards[index] = cardValue;
	}
예제 #13
0
 public Card(int valueIndex, int suitIndex)
 {
     this.Value = (CardValue)getCardValue(valueIndex);
     this.Suit  = (CardSuits)getCardSuit(suitIndex);
 }
예제 #14
0
 public PairClassification(CardValue cardValue)
 {
     _cardValue = cardValue;
 }
예제 #15
0
파일: Card.cs 프로젝트: ephill/Solisharp
 /// <summary>
 /// Initializes a new instance of the <see cref="Card"/> class.
 /// </summary>
 /// <param name="value">The value of the card.</param>
 /// <param name="suit">The suit of the card.</param>
 public Card(CardValue value, CardSuit suit)
 {
     this.Value = value;
     this.Suit = suit;
     this.Color = suit == CardSuit.Diamonds || suit == CardSuit.Hearts ? CardColor.Red : CardColor.Black;
 }
예제 #16
0
 public Card(int type, int val)
 {
     Type  = (CardType)type;
     Value = (CardValue)val;
 }
예제 #17
0
 //------------------------------------------------
 // CCard(SuitValue suit, CardValue number)
 //
 // Precondition: suit must be a value in the SuitValue enumerator. number must be a value in the CardValue enumerator.
 // Postcondition: Sets up the default properties.
 //------------------------------------------------
 public CCard(SuitValue suit, CardValue number)
 {
     this.suit = suit;
     this.number = number;
 }
예제 #18
0
파일: Poker.cs 프로젝트: greeduomacro/annox
		public PlayCard( CardValue val, CardColour col )
		{
			Value = val;
			Colour = col;
		}
예제 #19
0
 public CardModel(CardValue value, CardSuit suit)
 {
     this.Value = value;
     this.Suit  = suit;
 }
예제 #20
0
 public void SetNumericCardValue(int newValue)
 {
     this.numericValue = newValue;
     this.cardValue    = CardHelper.GetCardEnumFromValue(newValue);
 }
예제 #21
0
 public Card(CardSuite suite, CardValue value)
 {
     this.suite = suite;
     this.value = value;
 }
예제 #22
0
 public void SetCardValue(CardValue newValue)
 {
     this.cardValue    = newValue;
     this.numericValue = CardHelper.GetValueFromCardEnum(newValue);
 }
예제 #23
0
 public Card(CardValue value, int type)
 {
     this.cardType = CardHelper.GetCardTypeFromValue(type);
     this.SetCardValue(value);
 }
예제 #24
0
 public Card(CardValue value, CardType type)
 {
     this.cardType = type;
     this.SetCardValue(value);
 }
예제 #25
0
        /// <summary>
        /// Adds cards to the collection.
        /// </summary>
        /// <param name="suit">The suit of the added cards.</param>
        /// <param name="cardValues">The card values which will appear in each deck.
        /// values are specified as flags and several can be added.</param>
        private void AddCards(CardSuit suit,
            CardValue cardValues)
        {
            if ((cardValues & CardValue.Ace) == CardValue.Ace)
            {
                cards.Add(new TraditionalCard(suit, CardValue.Ace, this));
            }

            if ((cardValues & CardValue.Two) == CardValue.Two)
            {
                cards.Add(new TraditionalCard(suit, CardValue.Two, this));
            }

            if ((cardValues & CardValue.Three) == CardValue.Three)
            {
                cards.Add(new TraditionalCard(suit, CardValue.Three, this));
            }

            if ((cardValues & CardValue.Four) == CardValue.Four)
            {
                cards.Add(new TraditionalCard(suit, CardValue.Four, this));
            }

            if ((cardValues & CardValue.Five) == CardValue.Five)
            {
                cards.Add(new TraditionalCard(suit, CardValue.Five, this));
            }

            if ((cardValues & CardValue.Six) == CardValue.Six)
            {
                cards.Add(new TraditionalCard(suit, CardValue.Six, this));
            }

            if ((cardValues & CardValue.Seven) == CardValue.Seven)
            {
                cards.Add(new TraditionalCard(suit, CardValue.Seven, this));
            }

            if ((cardValues & CardValue.Eight) == CardValue.Eight)
            {
                cards.Add(new TraditionalCard(suit, CardValue.Eight, this));
            }

            if ((cardValues & CardValue.Nine) == CardValue.Nine)
            {
                cards.Add(new TraditionalCard(suit, CardValue.Nine, this));
            }

            if ((cardValues & CardValue.Ten) == CardValue.Ten)
            {
                cards.Add(new TraditionalCard(suit, CardValue.Ten, this));
            }

            if ((cardValues & CardValue.Jack) == CardValue.Jack)
            {
                cards.Add(new TraditionalCard(suit, CardValue.Jack, this));
            }

            if ((cardValues & CardValue.Queen) == CardValue.Queen)
            {
                cards.Add(new TraditionalCard(suit, CardValue.Queen, this));
            }

            if ((cardValues & CardValue.King) == CardValue.King)
            {
                cards.Add(new TraditionalCard(suit, CardValue.King, this));
            }
        }
예제 #26
0
 public CardModel(AssetService assetService, CardSuit suit, CardValue value)
 {
     _assetService = assetService;
     Suit          = suit;
     Value         = value;
 }
예제 #27
0
 public Card(CardValue value, CardSuite suite)
 {
     v = value;
     s = suite;
 }
예제 #28
0
 public Card(CardType t, CardValue val)
 {
     Type  = t;
     Value = val;
 }
예제 #29
0
 public Card(CardSuit suit, CardValue value)
 {
     Suit = suit;
     Value = value;
 }
예제 #30
0
 public Card(int iSuit, int iValue)
 {
     suit  = (CardSuit)(iSuit);
     value = (CardValue)(iValue);
 }
예제 #31
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="suit">The suit of the card.</param>
 /// <param name="value">The value of the card.</param>
 public Card(Suit suit, CardValue value)
 {
     Contract.Requires((int)suit >= (int)Suit.Diamonds && (int)suit <= (int)Suit.Spades);
     Contract.Requires((int)value >= (int)CardValue.Two && (int)value <= (int)CardValue.Ace);
     this.Suit = suit;
     this.Value = value;
 }
예제 #32
0
 public CardData(Suit s, CardValue v)
 {
     suit  = s;
     value = v;
 }
예제 #33
0
 public Card(int value, int suite)
 {
     v = (CardValue)value;
     s = (CardSuite)suite;
 }
예제 #34
0
    public Hand(List <Card> cards)
    {
        if (cards.Count == 0)
        {
            group = 0;
            return;
        }

        // tell HandType
        cards.Sort((x, y) => x.Number.CompareTo(y.Number));

        if (cards.Count == 1)
        {
            handName  = "single";
            cardValue = new SingleCardValue(cards[0].Number);
            return;
        }

        var flushLastValue = IsFlush(cards);

        if (flushLastValue > 0)
        {
            handName = "flush";
            //  tell straight Flush
            bool isStraightFlush = true;
            foreach (var card in cards)
            {
                if (card.Suit != cards[0].Suit)
                {
                    isStraightFlush = false;
                    break;
                }
            }
            if (isStraightFlush)
            {
                cardValue = new FlushCardValue(flushLastValue + 13, cards.Count);
            }
            else
            {
                cardValue = new FlushCardValue(flushLastValue, cards.Count);
            }
            return;
        }

        var pairLastValue = IsPair(cards);

        if (pairLastValue > 0)
        {
            handName  = "pair";
            cardValue = new PairCardValue(pairLastValue, cards.Count / 2);
            return;
        }

        // checking for Hong or Bomb
        HongOrBomb type;
        int        returnValue = CheckHongOrBomb(cards, out type);

        if (returnValue > 0)
        {
            handName = type.ToString();
            if (type == HongOrBomb.hong)
            {
                cardValue = new HongCardValue(returnValue, cards.Count() / (int)HongOrBomb.hong);
                group     = 2;
            }
            else
            {
                cardValue = new BombCardValue(returnValue, cards.Count() / (int)HongOrBomb.bomb);
                group     = 3;
            }
            return;
        }

        if (IsCats(cards))
        {
            handName = "cats";
            group    = 4;
            return;
        }

        throw new Exception("not a valid hand");
    }
예제 #35
0
 public Card(CardSuit suit, CardValue value) // Constructor
 {
     this.Suit  = suit;                      // Parameter "suit"
     this.Value = value;
 }
예제 #36
0
 public Card(CardType cardtype, CardValue cardvalue)
 {
     cardType  = cardtype;
     cardValue = cardvalue;
 }
예제 #37
0
파일: Card.cs 프로젝트: greymipt/Poker
 public Card(CardValue value, CardSuit suit)
 {
     this.suit = suit;
     this.value = value;
 }
예제 #38
0
 public Card(CardValue value, CardSuite suite)
 {
     Value = value;
     Suite = suite;
 }
예제 #39
0
파일: Card.cs 프로젝트: vermeeca/Katas
 public Card(CardValue value, CardSuit suit)
 {
     Value = value;
     Suit = suit;
 }
 public Card_GetHashCodeThrowsException(CardValue value, CardSuit suit)
 {
     Value = value;
     Suit  = suit;
 }
예제 #41
0
 public Card(CardValue value)
 {
     Suit = CardSuit.Spade;
     Value = value;
 }
예제 #42
0
 public Card(CardSuit suit, CardValue value)
 {
     Suit  = suit;
     Value = value;
 }
예제 #43
0
파일: Card.cs 프로젝트: obstrel/Kozel
 public Card(CardSuit aSuite, CardValue aValue)
 {
     suit = aSuite;
     value = aValue;
 }
        /// <summary>
        /// Initializes a new instance of the <see cref="TraditionalCard"/> class.
        /// </summary>
        /// <param name="type">The card suit. Supports only a single value.</param>
        /// <param name="value">The card's value. Only single values are 
        /// supported.</param>
        /// <param name="holdingCardCollection">The holding card collection.</param>
        internal TraditionalCard(CardSuit type, CardValue value,
            CardPacket holdingCardCollection)
        {
            // Check for single type
            switch (type)
            {
                case CardSuit.Club:
                case CardSuit.Diamond:
                case CardSuit.Heart:
                case CardSuit.Spade:
                    break;
                default:
                    {
                        throw new ArgumentException(
                            "type must be single value", "type");
                    }
            }

            // Check for single value
            switch (value)
            {
                case CardValue.Ace:
                case CardValue.Two:
                case CardValue.Three:
                case CardValue.Four:
                case CardValue.Five:
                case CardValue.Six:
                case CardValue.Seven:
                case CardValue.Eight:
                case CardValue.Nine:
                case CardValue.Ten:
                case CardValue.Jack:
                case CardValue.Queen:
                case CardValue.King:
                case CardValue.FirstJoker:
                case CardValue.SecondJoker:
                    break;
                default:
                    {
                        throw new ArgumentException(
                            "value must be single value", "value");
                    }
            }

            Type = type;
            Value = value;
            HoldingCardCollection = holdingCardCollection;
        }
예제 #45
0
	public void SetCommunityCard(int index, CardValue cardValue)
	{
		communityCards[index] = cardValue;
	}
예제 #46
0
    private void SetValue(CardValue value)
    {
        if (m_ValueSet) {
            Debug.LogError("Value has been already set!");
            return;
        }

        m_Value = value;
        m_ValueSet = true;
        SetCardSpritesIfCardFullyPrepared();
    }
예제 #47
0
파일: Card.cs 프로젝트: jhinder/TriPeaks
 internal CardPlayedEventArgs(CardValue value, CardColour colour, bool wasPeak)
 {
     Value       = value;
     Colour      = colour;
     WasPeakCard = wasPeak;
 }
예제 #48
0
        void InitializeCard(string value, string suit)
        {
            switch (suit.ToUpper())
            {
            case "C":
            {
                this.Suit = CardSuit.Clubs;
                break;
            }

            case "D":
            {
                this.Suit = CardSuit.Diamonds;
                break;
            }

            case "H":
            {
                this.Suit = CardSuit.Hearts;
                break;
            }

            case "S":
            {
                this.Suit = CardSuit.Spades;
                break;
            }

            default:
            {
                throw new ArgumentException(String.Format("Unrecognized Card Suit: {0}", suit.ToString()));
            }
            }

            switch (value.ToUpper())
            {
            case "2":
            {
                this.Value = CardValue.Deuce;
                break;
            }

            case "3":
            {
                this.Value = CardValue.Trey;
                break;
            }

            case "4":
            {
                this.Value = CardValue.Four;
                break;
            }

            case "5":
            {
                this.Value = CardValue.Five;
                break;
            }

            case "6":
            {
                this.Value = CardValue.Six;
                break;
            }

            case "7":
            {
                this.Value = CardValue.Seven;
                break;
            }

            case "8":
            {
                this.Value = CardValue.Eight;
                break;
            }

            case "9":
            {
                this.Value = CardValue.Nine;
                break;
            }

            case "T":
            {
                this.Value = CardValue.Ten;
                break;
            }

            case "J":
            {
                this.Value = CardValue.Jack;
                break;
            }

            case "Q":
            {
                this.Value = CardValue.Queen;
                break;
            }

            case "K":
            {
                this.Value = CardValue.King;
                break;
            }

            case "A":
            {
                this.Value = CardValue.Ace;
                break;
            }

            default:
            {
                throw new ArgumentException(String.Format("Unrecognized Card Value: {0}", value.ToString()));
            }
            }
        }
예제 #49
0
 public Card(CardSuits suits, CardValue value)
 {
     Suits = suits;
         Value = value;
 }
예제 #50
0
 //KONSTRUKTORER (Hur man får skapa ett nytt kort)
 public PlayingCard(CardValue value, CardSuit suit, bool faceDown)
 {
     Value    = value;
     Suit     = suit;
     FaceDown = faceDown;
 }
예제 #51
0
        /// <summary>
        /// Method to check a hand for a specific card
        /// </summary>
        /// <param name="hand">List of Cards</param>
        /// <param name="value">CardValue</param>
        /// <returns>true if found</returns>
        public bool valuefound(List<Card> hand, CardValue value)
        {
            if(hand.Count(card => card.Value == value) >= 1){
                return true;
            }

              return false;
        }
예제 #52
0
 internal Card(CardValue value, CardSuit suit)
 {
     this.Value = value;
     this.Suit  = suit;
 }
예제 #53
0
        /// <summary>
        /// Adds suits of cards to the collection.
        /// </summary>
        /// <param name="suits">The suits to add to each decks. Suits are specified 
        /// as flags and several can be added.</param>
        /// <param name="cardValues">The card values which will appear in each deck.
        /// values are specified as flags and several can be added.</param>
        private void AddSuit(CardSuit suits, CardValue cardValues)
        {
            if ((suits & CardSuit.Club) == CardSuit.Club)
            {
                AddCards(CardSuit.Club, cardValues);
            }

            if ((suits & CardSuit.Diamond) == CardSuit.Diamond)
            {
                AddCards(CardSuit.Diamond, cardValues);
            }

            if ((suits & CardSuit.Heart) == CardSuit.Heart)
            {
                AddCards(CardSuit.Heart, cardValues);
            }

            if ((suits & CardSuit.Spade) == CardSuit.Spade)
            {
                AddCards(CardSuit.Spade, cardValues);
            }
        }
예제 #54
0
파일: Card.cs 프로젝트: kedingkurus/KaneBot
 public Card(CardType t, CardValue v)
 {
     type  = t;
     value = v;
 }
예제 #55
0
파일: Card.cs 프로젝트: Unnar/SharpBag
 /// <summary>
 /// The main constructor.
 /// </summary>
 /// <param name="type">The type of the card.</param>
 /// <param name="value">The value of the card.</param>
 /// <param name="isDown">Whether the card is face down or face up.</param>
 public Card(CardType type, CardValue value, bool isDown = true)
 {
     this.Type = type;
     this.Value = value;
     this.IsDown = isDown;
 }
예제 #56
0
 public static PokerHand CreatePairDifferentNonPairCardValue(CardValue thirdCard, CardValue fourthCard, CardValue fifthCard)
 {
     return(CreateHand(new Tuple <CardSuit, CardValue>(CardSuit.Heart, CardValue.Five),
                       new Tuple <CardSuit, CardValue>(CardSuit.Club, CardValue.Five),
                       new Tuple <CardSuit, CardValue>(CardSuit.Spade, thirdCard),
                       new Tuple <CardSuit, CardValue>(CardSuit.Heart, fourthCard),
                       new Tuple <CardSuit, CardValue>(CardSuit.Diamond, fifthCard)
                       ));
 }
예제 #57
0
 public static PlayingCard Create(CardValue val, CardSuit suit)
 {
     return new PlayingCard { Suit = suit.ToString(), Value = val.ToString() };
 }
예제 #58
0
 public int IndexOfCard(CardValue card)
 {
     return(Cards.ToList().IndexOf(card));
 }
예제 #59
0
 public Card(CardValue cardValue, CardSuit cardSuit)
 {
     Value = cardValue;
     Suit = cardSuit;
 }
예제 #60
0
 public Card(CardValue value, CardSuit suit)
 {
     Value = value;
     Suit  = suit;
 }