Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- namespace DeckOfCards
- {
- class Program
- {
- static void Main(string[] args)
- {
- Desk deck = new Desk();
- Player player = new Player();
- deck.Shuffle();
- player.TakeCard(deck);
- player.ShowCardInHand();
- }
- }
- class Card
- {
- private string _suitCard;
- private string _nameCard;
- public Card(string suitCard, string nameCard)
- {
- _suitCard = suitCard;
- _nameCard = nameCard;
- }
- public void ShowInfoCard()
- {
- Console.WriteLine($"{_nameCard} {_suitCard}");
- }
- }
- class Desk
- {
- private List<Card> _cards;
- public Desk()
- {
- _cards = new List<Card>();
- string[] suitsCard = { "Черви", "Крести", "Буби", "Пики" };
- string[] namesCard = { "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "D", "K", "A" };
- for (int i = 0; i < suitsCard.Length; i++)
- {
- for (int j = 0; j < namesCard.Length; j++)
- {
- _cards.Add(new Card(suitsCard[i], namesCard[j]));
- }
- }
- }
- public void Shuffle()
- {
- Random random= new Random();
- for (int i = 0; i < _cards.Count; i++)
- {
- int j = random.Next(_cards.Count - i);
- Card temp = _cards[j];
- _cards[j] = _cards[i];
- _cards[i] = temp;
- }
- }
- public Card DrawCard()
- {
- if(_cards.Count == 0)
- {
- return null;
- }
- else
- {
- Card card = _cards[0];
- _cards.RemoveAt(0);
- return card;
- }
- }
- }
- class Player
- {
- private List<Card> _inHand;
- public Player()
- {
- _inHand= new List<Card>();
- }
- public void ShowCardInHand()
- {
- Console.WriteLine("Карты в руках:");
- foreach (Card card in _inHand)
- {
- card.ShowInfoCard();
- }
- }
- public void TakeCard(Desk desk)
- {
- bool isWork = true;
- const string exit = "n";
- while (isWork)
- {
- Console.Clear();
- Console.WriteLine("N - закончить раздачу.");
- string answer = Console.ReadLine();
- if (answer.ToLower() == exit)
- {
- isWork = false;
- }
- else
- {
- Card card = desk.DrawCard();
- if (card == null)
- {
- Console.WriteLine("В колоде кончились карты");
- isWork = false;
- }
- _inHand.Add(card);
- Console.Write($"Ваша карта: ");
- card.ShowInfoCard();
- Console.ReadKey();
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement