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
Post a Comment