Пример #1
0
        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));
            }
        }
Пример #2
0
        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")));
            }
        }