C# - Deck of Cards Program


C# - Deck of Cards Program

CODE
using System; using System.Collections.Generic; using System.Linq; class Program { static void Main() { Deck d = new Deck(); Console.WriteLine(d.ToString()); } } enum Suit { Club = 1, Diamond = 2, Heart = 3, Spades = 4, } enum CardNumber { Ace = 1, Two = 2, Three = 3, Four = 4, Five = 5, Six = 6, Seven = 7, Eight = 8, Nine = 9, Ten = 10, Jack = 11, Queen = 12, King = 13, } class Card { private Suit suit; private CardNumber cardNumber; public Card(Suit suit, CardNumber cardNumber) { this.suit = suit; this.cardNumber = cardNumber; } public override string ToString() { return suit + " - " + cardNumber; } } class Deck { private List<Card> cards; public Deck() { Reset(); } public void Reset() { cards = new List<Card>(52); for(int suitNo = 1; suitNo <= 4; suitNo++) { for(int cardNo = 1; cardNo <= 13; cardNo++) { cards.Add(new Card((Suit)suitNo, (CardNumber)cardNo)); } } } public void Shuffle() { cards = cards.OrderBy(c => Guid.NewGuid()).ToList(); } public override string ToString() { string result = ""; int i = 1; foreach(Card c in cards) { result += i + ". " + c.ToString() + "\n"; i++; } return result; } }

Comments