ranee

карты

Mar 20th, 2023 (edited)
853
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.11 KB | None | 0 0
  1. using System;
  2.  
  3. namespace DeckOfCards
  4. {
  5.     class Program
  6.     {
  7.         static void Main(string[] args)
  8.         {
  9.             Desk deck = new Desk();
  10.             Player player = new Player();
  11.             int minminimumNumberCards = 1;
  12.             int maxminimumNumberCards = 52;
  13.            
  14.             deck.Shuffle();
  15.             Console.WriteLine("Сколько карт желаете взять: ");
  16.            
  17.             if(int.TryParse(Console.ReadLine(), out int result))
  18.             {
  19.                 if(result >= minminimumNumberCards && result <= maxminimumNumberCards)
  20.                 {
  21.  
  22.                     for (int i = 0; i < result; i++)
  23.                     {
  24.                         Card card = deck.DrawCard();
  25.                         player.TakeCard(card);
  26.                     }
  27.                 }
  28.                 else
  29.                 {
  30.                     Console.WriteLine($"Число должно быть в диапазоне {minminimumNumberCards} - {maxminimumNumberCards}.");
  31.                 }
  32.             }
  33.             else
  34.             {
  35.                 Console.WriteLine("Неверный ввод.");
  36.             }
  37.             player.ShowCardInHand();
  38.         }
  39.     }
  40.  
  41.     class Card
  42.     {
  43.         private string _suit;
  44.         private string _name;
  45.  
  46.         public Card(string suit, string name)
  47.         {
  48.             _suit = suit;
  49.             _name = name;
  50.         }
  51.  
  52.         public void ShowInfoCard()
  53.         {
  54.             Console.WriteLine($"{_name} {_suit}");
  55.         }
  56.     }
  57.  
  58.     class Desk
  59.     {
  60.         private List<Card> _cards;
  61.  
  62.         public Desk()
  63.         {
  64.             _cards = new List<Card>();
  65.             string[] suits = { "Черви", "Крести", "Буби", "Пики" };
  66.             string[] names = { "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "D", "K", "A" };
  67.  
  68.             for (int i = 0; i < suits.Length; i++)
  69.             {
  70.                 for (int j = 0; j < names.Length; j++)
  71.                 {
  72.                     _cards.Add(new Card(suits[i], names[j]));
  73.                 }
  74.             }
  75.         }
  76.  
  77.         public void Shuffle()
  78.         {
  79.             Random random = new Random();
  80.  
  81.             for (int i = 0; i < _cards.Count; i++)
  82.             {
  83.                 int randomRange = random.Next(_cards.Count);
  84.                 Card temp = _cards[randomRange];
  85.                 _cards[randomRange] = _cards[i];
  86.                 _cards[i] = temp;
  87.             }
  88.         }
  89.  
  90.         public Card DrawCard()
  91.         {
  92.             Card card = _cards[0];
  93.             _cards.Remove(card);
  94.             return card;
  95.         }
  96.     }
  97.  
  98.     class Player
  99.     {
  100.         private List<Card> _inHand;
  101.  
  102.         public Player()
  103.         {
  104.             _inHand = new List<Card>();
  105.         }
  106.  
  107.         public void ShowCardInHand()
  108.         {
  109.             Console.WriteLine("Карты в руках:");
  110.  
  111.             foreach (Card card in _inHand)
  112.             {
  113.                 card.ShowInfoCard();
  114.             }
  115.         }
  116.  
  117.         public void TakeCard(Card card)
  118.         {
  119.             _inHand.Add(card);
  120.         }
  121.     }
  122. }
Advertisement
Add Comment
Please, Sign In to add comment