Добавить карту в массив - C#
Формулировка задачи:
Привет! Изучаю классы. Как добавить карту в колоду?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Poker
{
class Program
{
static void Main()
{
Console.WriteLine();
Console.ReadKey();
}
public class Card
{
public int Rank;
public int Suit;
}
public class Deck
{
public Deck[] deck = new Deck[52];
public Card card = new Card();
public void CreateDeck()
{
for(int a = 0; a < 4; a++)
{
for(int b = 0; b < 13; b++)
{
card.Suit = a;
card.Rank = b;
}
}
}
}Решение задачи: «Добавить карту в массив»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Poker
{
class Program
{
static void Main()
{
Deck deck = new Deck();
deck.ShuffleDeck();
for(int a = 0; a < 52; a++)
{
Console.Write("{0} ", deck.Deal());
}
Console.ReadKey();
}
public class Card
{
private string rank, suit;
public Card (string Rank, string Suit)
{
rank = Rank;
suit = Suit;
}
public override string ToString()
{
return rank + suit;
}
}
public class Deck
{
private Card[] deck;
private int currentCard;
private const int ALL_CARDS = 52;
private Random random;
public Deck()
{
string[] ranks = { "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A" };
string[] suits = { "c", "h", "s", "d" };
deck = new Card[ALL_CARDS];
currentCard = 0;
random = new Random();
for(int a = 0; a < deck.Length; a++)
{
deck[a] = new Card(ranks[a % 13], suits[a / 13]);
}
}
public void ShuffleDeck()
{
currentCard = 0;
for (int a = 0; a < deck.Length; a++)
{
int b = random.Next(ALL_CARDS);
Card temp = deck[a];
deck[a] = deck[b];
deck[b] = temp;
}
}
public Card Deal()
{
if (currentCard < deck.Length)
return deck[currentCard++];
else
return null;
}
}
}
}