Exemplo n.º 1
0
        public Card PromptPlayerForCardToPlay(List<Card> hand)
        {
            DisplayCards(CardCollection, hand, false, "Hand: Choose a Card to Play");
            CardCollection.Visible = true;

            _selectedCard = null;

            while (_selectedCard == null)
            {
                Application.DoEvents();
                Thread.Sleep(100);
            }
            return _selectedCard;
        }
Exemplo n.º 2
0
        private void PlaceCard(Card card)
        {
            if (card.GoesOnBattlefield)
            {
                Battlefield.Add(card);
            }
            else
            {
                DiscardPile.Add(card);
            }

            Hand.Remove(card);
        }
Exemplo n.º 3
0
        void DisplayCards(FlowLayoutPanel panel, List<Card> cards, bool readOnly, string cardCollectionName = "")
        {
            if (!string.IsNullOrEmpty(cardCollectionName))
            {
                CardCollectionLabel.Text = cardCollectionName;
            }
            panel.Controls.Clear();

            foreach (var card in cards)
            {
                Control controlToAdd;
                if (readOnly)
                {
                    var cardToAdd = new Panel { Width = 120, Height = 135};
                    cardToAdd.Controls.Add(new Label { Text = card.CardType.ToString() });
                    controlToAdd = cardToAdd;
                }
                else
                {
                    var button = new Button { Text = card.CardType.ToString(), Width = 120, Height = 135 };
                    button.Click += (sender, args) => _selectedCard = card;
                    controlToAdd = button;
                }
                panel.Controls.Add(controlToAdd);
            }
        }