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; }
private void PlaceCard(Card card) { if (card.GoesOnBattlefield) { Battlefield.Add(card); } else { DiscardPile.Add(card); } Hand.Remove(card); }
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); } }