static void Deal() { Card aceClubs = new Card(Suit.Clubs, Value.Ace); Card ThreeDiamonds = new Card(Suit.Diamonds, Value.Three); Card queenSpades = new Card(Suit.Spades, Value.Queen); Card jackSpades = new Card(Suit.Spades, Value.Jack); Card sevenClubs = new Card(Suit.Clubs, Value.Seven); Card fourDiamonds = new Card(Suit.Diamonds, Value.Four); Card fourClubs = new Card(Suit.Clubs, Value.Four); Card nineHearts = new Card(Suit.Hearts, Value.Nine); Card twoDiamonds = new Card(Suit.Diamonds, Value.Two); Card kingHearts = new Card(Suit.Hearts, Value.King); Deck <Card> deck = new Deck <Card>(); deck.Add(aceClubs); deck.Add(ThreeDiamonds); deck.Add(queenSpades); deck.Add(jackSpades); deck.Add(sevenClubs); deck.Add(fourDiamonds); deck.Add(fourClubs); deck.Add(nineHearts); deck.Add(twoDiamonds); deck.Add(kingHearts); Console.WriteLine("Cards in the deck are:"); foreach (Card card in deck) { Console.WriteLine($"{card.Value}: {card.Suit}"); } Card[] cardsOfSuit = deck.ReturnSuit(Suit.Hearts); Console.WriteLine("------------------------------"); Console.WriteLine("Cards in deck that are of the suit Hearts:"); foreach (Card card in cardsOfSuit) { Console.WriteLine(card.Value); } Console.WriteLine("------------------------------"); Console.WriteLine("The deck with the Hearts removed:"); foreach (Card card in cardsOfSuit) { deck.Remove(card); } foreach (Card card in deck) { Console.WriteLine($"{card.Value}: {card.Suit}"); } }
static void GenericCollection() { // Instantiate collection // Instantiate ten cards with values Deck <Card> myCards = new Deck <Card>() { new Card { Suit = CardSuit.Spades, Value = Value.Ace }, new Card { Suit = CardSuit.Hearts, Value = Value.Eight }, new Card { Suit = CardSuit.Diamonds, Value = Value.Two }, new Card { Suit = CardSuit.Hearts, Value = Value.King }, new Card { Suit = CardSuit.Clubs, Value = Value.Queen }, new Card { Suit = CardSuit.Spades, Value = Value.Four }, new Card { Suit = CardSuit.Spades, Value = Value.Five }, new Card { Suit = CardSuit.Hearts, Value = Value.Six }, new Card { Suit = CardSuit.Clubs, Value = Value.Ace }, new Card { Suit = CardSuit.Spades, Value = Value.Jack } }; Console.WriteLine("Add ten cards to the deck:"); // Prints out the deck to the console foreach (Card card in myCards) { Console.WriteLine($"Suit: {card.Suit}, Value: {card.Value}"); } Console.WriteLine("----------"); Console.WriteLine("Add a card to the deck:"); // Adds a new card to the deck Card card1 = new Card(); card1.Suit = CardSuit.Diamonds; card1.Value = Value.Nine; myCards.Add(card1); Console.WriteLine($"Suit: {card1.Suit}, Value: {card1.Value}"); // Print out the deck, including the newly added card, to the console foreach (Card card in myCards) { Console.WriteLine($"Suit: {card.Suit}, Value: {card.Value}"); } Console.WriteLine("----------"); // Removes the last card added to the deck and prints it out on console Console.WriteLine("Remove last card added to the deck:"); myCards.Remove(); foreach (Card card in myCards) { Console.WriteLine($"Suit: {card.Suit}, Value: {card.Value}"); } Console.WriteLine("----------"); // Returns a particular suit and prints out the updated deck to console Console.WriteLine("Return all cards with Suit of Clubs:"); Deck <Card> clubs = myCards.ReturnSuit(CardSuit.Clubs); foreach (Card card in clubs) { Console.WriteLine($"Suit: {card.Suit}, Value: {card.Value}"); } }