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(); } }
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; }
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"); }
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; }
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); } }
public void AddCard(Card card) { Cards.Add(card); }
public Card PickedCard(Card pickedCard) { return pickedCard; }
public GuessCard(Card mysteryCard) { this.mysteryCard = mysteryCard; }
public void Discard(Card card) { _cards.Remove(card); }
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); } } }
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; }