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();
- int minminimumNumberCards = 1;
- int maxminimumNumberCards = 52;
- deck.Shuffle();
- Console.WriteLine("Сколько карт желаете взять: ");
- if(int.TryParse(Console.ReadLine(), out int result))
- {
- if(result >= minminimumNumberCards && result <= maxminimumNumberCards)
- {
- for (int i = 0; i < result; i++)
- {
- Card card = deck.DrawCard();
- player.TakeCard(card);
- }
- }
- else
- {
- Console.WriteLine($"Число должно быть в диапазоне {minminimumNumberCards} - {maxminimumNumberCards}.");
- }
- }
- else
- {
- Console.WriteLine("Неверный ввод.");
- }
- player.ShowCardInHand();
- }
- }
- class Card
- {
- private string _suit;
- private string _name;
- public Card(string suit, string name)
- {
- _suit = suit;
- _name = name;
- }
- public void ShowInfoCard()
- {
- Console.WriteLine($"{_name} {_suit}");
- }
- }
- class Desk
- {
- private List<Card> _cards;
- public Desk()
- {
- _cards = new List<Card>();
- string[] suits = { "Черви", "Крести", "Буби", "Пики" };
- string[] names = { "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "D", "K", "A" };
- for (int i = 0; i < suits.Length; i++)
- {
- for (int j = 0; j < names.Length; j++)
- {
- _cards.Add(new Card(suits[i], names[j]));
- }
- }
- }
- public void Shuffle()
- {
- Random random = new Random();
- for (int i = 0; i < _cards.Count; i++)
- {
- int randomRange = random.Next(_cards.Count);
- Card temp = _cards[randomRange];
- _cards[randomRange] = _cards[i];
- _cards[i] = temp;
- }
- }
- public Card DrawCard()
- {
- Card card = _cards[0];
- _cards.Remove(card);
- 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(Card card)
- {
- _inHand.Add(card);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment