Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- namespace C_Sharp_Junior
- {
- class Program
- {
- static void Main()
- {
- Player player = new Player();
- ConsoleKeyInfo pressedButton;
- do
- {
- Console.Clear();
- Console.Write("1 - Взять карту (Y - yes/N - no): ");
- pressedButton = Console.ReadKey();
- Console.WriteLine();
- if (pressedButton.Key == ConsoleKey.Y)
- player.TakeCard();
- else
- player.ShowAllPlayingCards();
- Console.WriteLine("Нажмите любую кнопку для продолжения или ESC для завершения работы");
- pressedButton = Console.ReadKey();
- } while (pressedButton.Key != ConsoleKey.Escape);
- Console.WriteLine("ПОКА");
- }
- }
- class Player
- {
- private DeckCards _deckCards;
- public Player()
- {
- _deckCards = new DeckCards();
- }
- public void TakeCard()
- {
- _deckCards.AddCardDeck();
- }
- public void ShowAllPlayingCards()
- {
- _deckCards.ShowAllCards();
- }
- }
- class DeckCards
- {
- private List<Card> _cards;
- private List<int> _valuesPossibleCard;
- private Random _random;
- public DeckCards()
- {
- _cards = new List<Card>();
- _valuesPossibleCard = new List<int> { 6, 7, 8, 9, 10, 11, 12 };
- _random = new Random();
- }
- public void ShowAllCards()
- {
- if (_cards.Count > 0)
- foreach (var card in _cards)
- card.ShowInfo();
- else
- Console.WriteLine("Ваша колода пуста!");
- }
- public void AddCardDeck()
- {
- if (_valuesPossibleCard.Count > 0)
- {
- int maxSuit = 4;
- int indexPlayingCard = _random.Next(_valuesPossibleCard.Count);
- int number = _valuesPossibleCard[indexPlayingCard];
- _valuesPossibleCard.RemoveAt(indexPlayingCard);
- _cards.Add(new Card((CardSuit)_random.Next(maxSuit), number));
- }
- else
- Console.WriteLine("Больше карт брать нельзя");
- }
- enum CardSuit
- {
- Пики,
- Червы,
- Бубны,
- Трефы
- }
- class Card
- {
- private CardSuit _cardSuit;
- private int _number;
- public Card(CardSuit cardSuit, int number)
- {
- _cardSuit = cardSuit;
- _number = number;
- }
- public void ShowInfo() => Console.WriteLine($"Масть: {_cardSuit} | Значение карты: {_number}");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment