From 288a1522211c20754b8da7e868717775df95ee0b Mon Sep 17 00:00:00 2001 From: mayurikene Date: Sat, 14 Feb 2026 12:27:40 +0530 Subject: [PATCH] Update Deck.cs --- CSharp/Blackbaud.Interview.Cards/Deck.cs | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/CSharp/Blackbaud.Interview.Cards/Deck.cs b/CSharp/Blackbaud.Interview.Cards/Deck.cs index 7b55e56..924a7d5 100644 --- a/CSharp/Blackbaud.Interview.Cards/Deck.cs +++ b/CSharp/Blackbaud.Interview.Cards/Deck.cs @@ -39,7 +39,22 @@ public static Deck NewDeck() /// Returns true if there are no remaining cards in the deck /// public bool Empty => RemainingCards == 0; - +public void Shuffle(int times = 1) +{ + var cards = _stackOfCards.ToList(); + var rng = new Random(); + for (int t = 0; t < times; t++) + { + for (int i = cards.Count - 1; i > 0; i--) + { + int j = rng.Next(i + 1); + (cards[i], cards[j]) = (cards[j], cards[i]); + } + } + _stackOfCards.Clear(); + foreach (var card in cards) + _stackOfCards.Push(card); +} /// /// Removes the next card from the deck. ///