private void DisplayCards(StackPanel panel, Hand hand, bool hidden = false) { CardPlayedReaction desiredReaction = null; if (gameEngine.GetCurrentAction() == PlayerAction.PlayOrPass) { desiredReaction = PlaySelectedCard; } if (gameEngine.GetCurrentAction() == PlayerAction.CreateCrib) { desiredReaction = AddSelectedCardToCrib; } foreach (Card card in hand.Cards) { panel.Children.Add(new CardControl(card, desiredReaction, hidden)); } }
public CardControl(Card card, CardPlayedReaction reaction, bool hidden = false) { InitializeComponent(); this.Hidden = hidden; this.Card = card; this.reaction = reaction; string faceValue = ""; switch (card.Face) { case CardFace.Ace: faceValue = " A"; break; case CardFace.Two: faceValue = " 2"; break; case CardFace.Three: faceValue = " 3"; break; case CardFace.Four: faceValue = " 4"; break; case CardFace.Five: faceValue = " 5"; break; case CardFace.Six: faceValue = " 6"; break; case CardFace.Seven: faceValue = " 7"; break; case CardFace.Eight: faceValue = " 8"; break; case CardFace.Nine: faceValue = " 9"; break; case CardFace.Ten: faceValue = "10"; break; case CardFace.Jack: faceValue = " J"; break; case CardFace.Queen: faceValue = " Q"; break; case CardFace.King: faceValue = " K"; break; } cardFace.Content = faceValue; switch (Card.Color) { case CardColor.Black: cardFace.Foreground = new SolidColorBrush(Colors.Black); break; case CardColor.Red: cardFace.Foreground = new SolidColorBrush(Colors.Red); break; } // TODO: Need to remove hardcoded image paths switch (Card.Suit) { case CardSuit.Club: cardSuit.Source = new BitmapImage(new Uri(@"c:\src\CribExplorer\CribExplorerGui\Resources\Club.jpg")); break; case CardSuit.Heart: cardSuit.Source = new BitmapImage(new Uri(@"c:\src\CribExplorer\CribExplorerGui\Resources\Heart.jpg")); break; case CardSuit.Spade: cardSuit.Source = new BitmapImage(new Uri(@"c:\src\CribExplorer\CribExplorerGui\Resources\Spade.jpg")); break; case CardSuit.Diamond: cardSuit.Source = new BitmapImage(new Uri(@"c:\src\CribExplorer\CribExplorerGui\Resources\Diamond.jpg")); break; } if (this.Hidden) { StackPanelCardFace.Visibility = System.Windows.Visibility.Hidden; VisibleCard.Background = new ImageBrush(new BitmapImage(new Uri(@"c:\src\CribExplorer\CribExplorerGui\Resources\CardPattern.jpg"))); } }