64 lines
1.4 KiB
C#
64 lines
1.4 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Security.Cryptography.X509Certificates;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using BlackJack;
|
|
|
|
|
|
namespace BlackJack
|
|
{
|
|
public enum Suits
|
|
{
|
|
Diamonds,
|
|
Hearts,
|
|
Spade,
|
|
Clubs,
|
|
}
|
|
public class Deck
|
|
{
|
|
public List<Card> Cards = new List<Card>();
|
|
private readonly Random _rnd = new Random();
|
|
public Deck()
|
|
{
|
|
for (int i = 1; i <= 13; i++) {
|
|
foreach (Suits suit in Enum.GetValues(typeof(Suits)))
|
|
{
|
|
Card card = new Card(suit, i);
|
|
AddCard(card);
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
public void AddCard(Card card)
|
|
{
|
|
Cards.Add(card);
|
|
}
|
|
|
|
public void Shuffle()
|
|
{
|
|
int n = Cards.Count;
|
|
for (int i = 0; i < n; i++)
|
|
{
|
|
int j = _rnd.Next(0, n-1);
|
|
|
|
Card temp = Cards[i];
|
|
Cards[i] = Cards[j];
|
|
Cards[j] = temp;
|
|
}
|
|
}
|
|
|
|
public void PrintDeck()
|
|
{
|
|
for (int i = 0; i < Cards.Count; i++)
|
|
{
|
|
Card card = Cards[i];
|
|
Console.WriteLine(card.Suit.ToString() + " " + card.Number.ToString());
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|