//Card类
class Card
{
public enum Suits
{
Spades,
Clubs,
Diamonds,
hearts
}
public enum Values
{
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
}
public Suits Suit;
public Values Value;
public Random random = new Random();
public Card(Suits Suit, Values Value)
{
this.Suit = Suit;
this.Value = Value;
}
//public Card()
//{
// this.Suit = (Suits)random.Next(4);
// this.Value = (Values)random.Next(1, 13);
//}
private string name;
public string Name
{
get {
name = Value.ToString() + " of " + Suit.ToString();
return name; }
}
}
//牌类及其洗牌算法
class Deck
{
public List<Card> cards;
public Deck()
{
cards = new List<Card>();
}
//洗牌算法1
public Deck Shuffle1(Deck shuffleDeck)
{
List<Card> tempCards;
Card card;
Random random = new Random();
int shuffleNumber = shuffleDeck.cards.Count;
for (int i = 0; i < shuffleNumber; i++ )
{
tempCards = new List<Card>();
while (shuffleDeck.cards.Count != 0)
{
int cardsNO = random.Next(shuffleDeck.cards.Count);
card = shuffleDeck.cards[cardsNO];
tempCards.Add(card);
shuffleDeck.cards.Remove(card);
}
shuffleDeck.cards = tempCards;
tempCards = null;
}
return shuffleDeck;
}
}