protected override void Deal()
        {
            if (lbUpCards.Items.Count == 0)
            {
                List<Card> startCards = new List<Card>();
                startCards = Deck.Deal(2);
                Card[] cards = new Card[2];

                for (int i = 0; i < startCards.Count; i++)
                {
                    cards[i] = startCards[i];
                }

                _upCards.Add(cards[1]);
                _holeCard = new Card(cards[0].rank, cards[0].suit);
                lblHoleCard.Text = cards[0].ToString();
                lblHoleCard.Visible = false;
            }
            else
            {
                foreach (Card card in Deck.Deal(1))
                {
                    _upCards.Add(card);
                }
            }
            base.Deal();
            IsWinner();
        }
        public void CardsToCompare()
        {
            Card card1 = new Card(Rank.Jack, Suit.Spades);
            Card card2 = new Card(Rank.Jack, Suit.Spades);

            Assert.AreEqual(0, card1.CompareToRank(card2));
        }
        public void CardHintsString()
        {
            Card guessCard = new Card(Rank.Three, Suit.Spades);
            Card mysteryCard = new Card(Rank.Three, Suit.Spades);
            GuessTheCard card = new GuessTheCard(mysteryCard);

            Assert.AreEqual("Three is correct and Spades is correct!", card.CardHints(guessCard));
        }
 public bool IsWinner(Card pickCard)
 {
     guessCard = pickCard;
     bool winner = false;
         if (guessCard.Equals(mysteryCard))
           winner = true;
     return winner;
 }
 protected override void Deal()
 {
     foreach (Card card in Deck.Deal(1))
     {
         _mysteryCard = new Card(card.rank, card.suit);
     }
     base.Deal();
 }
        private void GuessCard()
        {
            Casino casino = new Casino();
            Card pickedCard = new Card();
            string hintMessage;
            int guesses = int.Parse(lblGuesses.Text);

            foreach (Card card in _deck)
                _mysteryCard = new GuessCard(card);

                foreach (Card guessCard in _deckToPick)
                {
                    if (cbPickDeck.SelectedItem.ToString() == guessCard.ToString())
                    {
                        hintMessage = _mysteryCard.CardHints(guessCard);
                        lblHints.Text = hintMessage;
                        pickedCard = guessCard;
                    }
                }
                if (_mysteryCard.IsWinner(pickedCard))
                {
                    lblCard.Visible = true;
                    lblCardName.Visible = false;
                    DialogResult result = MessageBox.Show("You are a winner! \nWould you like to play again?",
                                                           "Guess The Card Result",
                                                          MessageBoxButtons.YesNo);
                    switch (result)
                    {
                        case DialogResult.Yes: StartGame();
                            break;
                        case DialogResult.No: casino.Show();
                            break;
                    }
                }
                else if (guesses == 4)
                {
                    lblGuesses.Text = "5";
                    DialogResult result = MessageBox.Show("You are a loser! \nWould you like to play again?",
                                                           "Guess The Card Result",
                                                          MessageBoxButtons.YesNo);
                    switch (result)
                    {
                        case DialogResult.Yes: StartGame();
                            break;
                        case DialogResult.No: casino.Show();
                            break;
                    }

                }
                else
                {
                    _deckToPick.Discard(pickedCard);
                    LoadDeck();

                    guesses++;
                    lblGuesses.Text = guesses.ToString();
                }
        }
Example #7
0
        public bool Equals(Card card)
        {
            //Card thatcard = new Card();
            //thatcard = (Card)obj;

            if (_suit.Equals(card._suit) && _rank.Equals(card._rank))
                return true;
            return false;
        }
        public void GetCardSum()
        {
            Card mysteryCard = new Card(Rank.Two, Suit.Spades);
            Card pickedCard = new Card(Rank.Two, Suit.Spades);
            GuessTheCard guessTheCard = new GuessTheCard(mysteryCard);
            guessTheCard.GuessCard(pickedCard);
            int pickedCardSum = guessTheCard.GetSumOfCards();

            Assert.AreEqual(true, guessTheCard.IsWinner(pickedCardSum));
        }
        public void WrongGuesses(Card pickedCard)
        {
            List<Card> wrongGuesses = new List<Card>();
            guessCard = pickedCard;

            if (guessCard != mysteryCard)
            {
                wrongGuesses.Add(guessCard);
            }
            _discardedCards = wrongGuesses;
        }
Example #10
0
 public int CompareToRank(Card o)
 {
     if (o != null)
     {
         Card c = o;
         if (_rank < c.rank)
             return -1;
         if (_rank > c.rank)
             return 1;
         return 0;
     }
     throw new ArgumentException("Object is not a Card");
 }
Example #11
0
 public int CompareToSuit(Card o)
 {
     if (o != null)
     {
         Card c = o;
         if (_suit < c.suit)
             return -1;
         if (_suit > c.suit)
             return 1;
         return 0;
     }
     throw new ArgumentException("Object is not a Card");
 }
        public DeckOfCards()
        {
            _cards = new List<Card>();

            foreach (Suit cardsuit in Enum.GetValues(typeof(Suit)))
            {
                foreach (Rank cardrank in Enum.GetValues(typeof(Rank)))
                {
                    var card = new Card(cardrank, cardsuit);
                    _cards.Add(card);
                }
            }
        }
        public void UpHoleCards()
        {
            List<Card> cards = new List<Card>()
                                  {
                                      new Card(Rank.Three, Suit.Spades),
                                      new Card(Rank.Five, Suit.Hearts),
                                  };
            Card[] hand = new Card[2];

            for (int i = 0; i < cards.Count; i++)
            {
                hand[i] = cards[i];
            }

            Card upCard = hand[0];
            Card holeCard = hand[1];

            Assert.AreEqual("Three of Spades", upCard.ToString());
            Assert.AreEqual("Five of Hearts", holeCard.ToString());
        }
        public string CardHints(Card pickedCard)
        {
            guessCard = pickedCard;
            string guessRank = "";
            string guessSuit = "";

            if (guessCard != null && mysteryCard != null)
            {
                if (guessCard.rank < mysteryCard.rank)
                    guessRank = guessCard.rank + " is too low";
                if (guessCard.rank > mysteryCard.rank)
                    guessRank = guessCard.rank + " is too high";
                if (guessCard.rank == mysteryCard.rank)
                    guessRank = guessCard.rank + " is correct";
                if (guessCard.suit == mysteryCard.suit)
                    guessSuit = guessCard.suit + " is correct!";
                if (guessCard.suit != mysteryCard.suit)
                    guessSuit = guessCard.suit + " is wrong.";
            }
            return guessRank + " and " + guessSuit;
        }
Example #15
0
        public void MakeDeck()
        {
            Array ranks = Enum.GetValues(typeof(Rank));
            Array suits = Enum.GetValues(typeof(Suit));
            int index = 0;

            foreach (Rank rank in ranks)
            {
                foreach (Suit suit in suits)
                {
                    Card card = new Card(rank, suit);
                    _cards.Add(card);
                    index++;
                }

            }
            while (_cards.Length != 0)
            {
                int cardsIndex = _random.Next(_cards.Length - 1);
                Card card = (Card)_cards.Get(cardsIndex);
                _stack.Push(card);
                _cards.RemoveAt(cardsIndex);
            }
        }
Example #16
0
 public void AddCard(Card card)
 {
     Cards.Add(card);
 }
Example #17
0
 public Card PickedCard(Card pickedCard)
 {
     return pickedCard;
 }
 public GuessCard(Card mysteryCard)
 {
     this.mysteryCard = mysteryCard;
 }
 public void Discard(Card card)
 {
     _cards.Remove(card);
 }
Example #20
0
        public bool IsStraight()
        {
            bool isStraight = false;
            Card[] straightHand = new Card[5];

            for (int i = 0; i < _hand.Count; i++)
            {
                straightHand[i] = _hand[i];
            }
            Array.Sort(straightHand);

            if (straightHand[0].rank == straightHand[1].rank - 1 &&
                straightHand[1].rank == straightHand[2].rank - 1 &&
                straightHand[2].rank == straightHand[3].rank - 1 &&
                straightHand[3].rank == straightHand[4].rank - 1)
                isStraight = true;

            return isStraight;
        }
        private void StartGame()
        {
            List<Card> startCards = new List<Card>();
            startCards = _deck.Deal(2);
            Card[] cards = new Card[2];

            for (int i = 0; i < startCards.Count; i++)
            {
                cards[i] = startCards[i];
            }

            _upCards.Add(cards[1]);
            holeCard = new Card(cards[0].rank, cards[0].suit);
            lblHoleCard.Text = cards[0].ToString();
            lblHoleCard.Visible = false;
            btnStart.Enabled = false;
            btnHitMe.Enabled = true;
        }
        public void ResetDeck()
        {
            _cards = new List<Card>();

            foreach (Suit cardsuit in Enum.GetValues(typeof(Suit)))
            {
                foreach (Rank cardrank in Enum.GetValues(typeof(Rank)))
                {
                    Card card = new Card(cardrank, cardsuit);
                    _cards.Add(card);
                }
            }
        }
Example #23
0
        public bool IsRoyalFlush()
        {
            bool isRoyalFlush = false;
            Card[] straightRoyal = new Card[5];

            if (IsFlush())
            {
                for (int i = 0; i < _hand.Count; i++)
                {
                    straightRoyal[i] = _hand[i];
                }
                Array.Sort(straightRoyal);

                if (straightRoyal[1].rank == Rank.Ten &&
                    straightRoyal[2].rank == Rank.Jack &&
                    straightRoyal[3].rank == Rank.Queen &&
                    straightRoyal[4].rank == Rank.King &&
                    straightRoyal[0].rank == Rank.Ace)
                    isRoyalFlush = true;
            }

            return isRoyalFlush;
        }