Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Program
- {
- static void Main(string[] args)
- {
- const string TakeCardCommand = "1";
- const string StopTakeCardCommand = "2";
- const string ExitCommand = "3";
- string userInput;
- bool isWorking = true;
- Player player = new Player();
- GameTable gameTable = new GameTable(player);
- while (isWorking)
- {
- Console.Clear();
- Console.WriteLine($"{TakeCardCommand})Взять карту.\n{StopTakeCardCommand})Закончить брать карты и вывести информацию о них.\n{ExitCommand})Выйти из программы.");
- userInput = Console.ReadLine();
- switch (userInput)
- {
- case TakeCardCommand:
- gameTable.CardTransfer();
- break;
- case StopTakeCardCommand:
- player.ShowCards();
- break;
- case ExitCommand:
- isWorking = false;
- break;
- }
- }
- }
- }
- class GameTable
- {
- private Deck _deck = new Deck();
- private Player _player ;
- public GameTable(Player player)
- {
- _player = player;
- }
- public void CardTransfer()
- {
- Card card = _deck.GiveCard();
- _player.TakeCard(card);
- }
- }
- class Player
- {
- private List<Card> _cardsInHand = new List<Card> ();
- public void TakeCard(Card card)
- {
- _cardsInHand.Add(card);
- }
- public void ShowCards()
- {
- foreach (Card card in _cardsInHand)
- {
- Console.WriteLine($"Карта:{card.Number}");
- }
- Console.ReadKey();
- Console.WriteLine("Нажмите на любую клавишу.");
- }
- }
- class Deck
- {
- static private Random random = new Random();
- private List<Card> _cards;
- public Deck()
- {
- _cards = new List<Card>() { new Card(1), new Card(2), new Card(3), new Card(4), new Card(5), new Card(6) };
- }
- private List<Card> Shuffle(List<Card> cards)
- {
- for (int i = 0; i < cards.Count; i++)
- {
- int randomNumber = random.Next(cards.Count);
- Card temporaryNumber = cards[randomNumber];
- cards[randomNumber] = cards[i];
- cards[i] = temporaryNumber;
- }
- return cards;
- }
- public Card GiveCard()
- {
- Card card = null;
- int randomIndex;
- randomIndex = random.Next(_cards.Count);
- if (_cards.Count == 0)
- {
- Console.WriteLine("Карты закончились");
- Console.ReadKey();
- }
- else
- {
- Shuffle(_cards);
- card = _cards[randomIndex];
- _cards.Remove(card);
- }
- return card;
- }
- }
- class Card
- {
- public Card(int number)
- {
- Number = number;
- }
- public int Number { get; private set; }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement