/// <summary> /// Removes a single card from the dealt hand /// </summary> /// <param name="myHand">Deck collection containing the dealt hand</param> /// <param name="cardSuit">Suit of card to be removed</param> /// <param name="cardValue">Value of card to be reomved</param> public static void RemoveCardFromHand(Deck <Card> myHand, int cardSuit, int cardValue) { foreach (Card card in myHand) { if (card.Suit == (Suit)cardSuit && card.CardValue == (CardValue)cardValue) { myHand.Remove(card); } } }
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}"); } }
// adds cards to deck, calls the shuffle method and remove method, prints cards (weird glitch i need to talk to amanda about)... //maybe you know why but my LAST console.WriteLine is only printing out like 4 or 5 cards... then it stops.... however all my main //functions are working static void PopulateDeck() { Card card1 = new Card() { Color = "red", Number = 4, Suit = Suit.Club }; Card card2 = new Card() { Color = "black", Number = 6, Suit = Suit.Diamond }; Card card3 = new Card() { Color = "red", Number = 8, Suit = Suit.Club }; Card card4 = new Card() { Color = "black", Suit = Suit.Spade, Number = 7 }; Card card5 = new Card() { Color = "red", Suit = Suit.Heart, Number = 7 }; Card card6 = new Card() { Color = "black", Suit = Suit.Spade, Number = 8 }; Card card7 = new Card() { Color = "red", Suit = Suit.Diamond, Number = 4 }; Card card8 = new Card() { Color = "red", Suit = Suit.Heart, Number = 5 }; Card card9 = new Card() { Color = "black", Suit = Suit.Heart, Number = 9 }; Card card10 = new Card() { Color = "black", Suit = Suit.Club, Number = 9 }; Card card11 = new Card() { Color = "black", Suit = Suit.Diamond, Number = 7 }; Card card12 = new Card() { Color = "black", Suit = Suit.Heart, Number = 7 }; Card card13 = new Card() { Color = "black", Suit = Suit.Heart, Number = 7 }; Card card14 = new Card() { Color = "black", Suit = Suit.Heart, Number = 7 }; Card card15 = new Card() { Color = "black", Suit = Suit.Diamond, Number = 10 }; Deck <Card> myCards = new Deck <Card>() { card1, card2, card3, card4, card5, card5, card6, card7, card8, card9, card10, card11, card12, card13, card14, card15 }; Deal(myCards); // REMOVE FUNCTION myCards.Remove(card1); // ADD FUNCTION myCards.Add(card1); }