/// <summary>
        /// when pressed, the deck is shuffled.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void bt_shuffle_Click(object sender, EventArgs e)
        {
            ShuffleDeckHandler shuffleDeck = new ShuffleDeckHandler(gameManager.ShuffleDeck);

            shuffleDeck();

            checkCardsLeft();
        }
예제 #2
0
        public void Deck_ShouldBeShuffled_WhenCalled()
        {
            var deck = Helpers.CreateDeck();
            var sut  = new ShuffleDeckHandler();

            var result = sut.Shuffle(deck);

            result.AssertSuccess();

            var success = result.Success().ValueOrDefault();

            success.Cards.Should().BeEquivalentTo(deck.Cards);

            // Check ordering changed
            success.Cards[0].Should().NotBe(Card.Create(Suits.Clubs, Faces.Ace));
        }
 /// <summary>
 /// method to check the number of cards left in the deck.
 /// user gets asked to shuffle if there is 15 cards or less
 /// </summary>
 private void checkCardsLeft()
 {
     lbl_cardsLeft.Text = gameManager.cardsLeftInDeck().ToString();
     if (gameManager.cardsLeftInDeck() < 30)
     {
         lbl_cardsLeft.ForeColor = System.Drawing.Color.Red;
         if (gameManager.cardsLeftInDeck() < 15)
         {
             lbl_cardsLeft.ForeColor = System.Drawing.Color.Red;
             DialogResult dr = MessageBox.Show(gameManager.cardsLeftInDeck().ToString() + " cards left in deck, do you want to shuffle?", "Warning!", MessageBoxButtons.YesNo);
             if (dr == DialogResult.Yes)
             {
                 ShuffleDeckHandler shuffleDeck = new ShuffleDeckHandler(gameManager.ShuffleDeck);
                 shuffleDeck();
                 checkCardsLeft();
             }
         }
     }
     else
     {
         lbl_cardsLeft.ForeColor = new System.Drawing.Color();
     }
 }