Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- namespace cards
- {
- internal class Program
- {
- static void Main(string[] args)
- {
- Player player = new Player();
- bool isWork = true;
- player.AddCards();
- while (isWork)
- {
- Console.WriteLine("1.Взять карту.\n2.Выдать результат.\n3.Вывести колоду.\n4.Выйти\n");
- switch (Console.ReadLine())
- {
- case "1":
- player.TakeCard();
- break;
- case "2":
- player.ShowHand();
- break;
- case "3":
- player.ShowDeck();
- break;
- case "4":
- isWork = false;
- break;
- default:
- Console.WriteLine("Ошибка!!!");
- break;
- }
- Console.ReadLine();
- Console.Clear();
- }
- }
- }
- class Player
- {
- private List<Card> _playerHand = new List<Card>();
- private Deck _deck = new Deck();
- private Random _random = new Random();
- public void AddCards()
- {
- _deck = new Deck();
- }
- public void ShowDeck()
- {
- _deck.ShowInfo();
- }
- public void ShowHand()
- {
- for (int i = 0; i < _playerHand.Count; i++)
- {
- Console.WriteLine($"Номер карты: {_playerHand[i].Number}. Масть: {_playerHand[i].Suit}.");
- }
- }
- public void TakeCard()
- {
- int random = _random.Next(0, _deck.ReturnQuantity());
- _playerHand.Add(new Card(_deck.ReturnCardNumber(random), _deck.ReturnCardBack(random)));
- _deck.RemoveCard(random);
- }
- }
- class Deck
- {
- private List<Card> _cards = new List<Card>();
- public int Quantity { get; private set; }
- public Deck()
- {
- Quantity = _cards.Count;
- CreateCards();
- }
- private void CreateCards()
- {
- int cardNumber = 10;
- List<string> suit = new List<string>();
- suit.AddRange(new string[] { "Черви", "Пики", "Буби", "Крести" });
- for (int i = 0; i < suit.Count; i++)
- {
- for (int j = 1; j < cardNumber; j++)
- {
- _cards.Add(new Card(j, suit[i]));
- }
- }
- }
- public void ShowInfo()
- {
- for (int i = 0; i < _cards.Count; i++)
- {
- Console.WriteLine($"{i} {_cards[i].Number} {_cards[i].Suit}");
- }
- }
- public int ReturnCardNumber(int number)
- {
- return _cards[number].Number;
- }
- public string ReturnCardBack(int back)
- {
- return _cards[back].Suit;
- }
- public void RemoveCard(int index)
- {
- _cards.RemoveAt(index);
- }
- public int ReturnQuantity()
- {
- return _cards.Count;
- }
- }
- class Card
- {
- public int Number { get; private set; }
- public string Suit { get; private set; }
- public Card(int number, string suit)
- {
- Number = number;
- Suit = suit;
- }
- }
- }
Add Comment
Please, Sign In to add comment