コード例 #1
0
 private void UpdateAllCardShapes()
 {
     GameShape.GetGameShape(Player1Hand.Deck.Game).GetDeckShape(Player1Hand.Deck).UpdateCardShapes();
     GameShape.GetGameShape(Player2Hand.Deck.Game).GetDeckShape(Player2Hand.Deck).UpdateCardShapes();
     GameShape.GetGameShape(Player3Hand.Deck.Game).GetDeckShape(Player3Hand.Deck).UpdateCardShapes();
     GameShape.GetGameShape(Player4Hand.Deck.Game).GetDeckShape(Player4Hand.Deck).UpdateCardShapes();
 }
コード例 #2
0
        private void GameShape_CardMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            //zablokuj eventy
            //GameShape.CardDrag -= new CardDragEventHandler(GameShape_CardDrag);
            GameShape.CardMouseLeftButtonDown -= new MouseButtonEventHandler(GameShape_CardMouseLeftButtonDown);

            bool renons;
            //klikniecie na karte sprobuje zagrac karte
            var       cardShapeClicked = (CardShape)sender;
            CardShape card             = (CardShape)sender;
            var       gameShape        = GameShape.GetGameShape(card.Card.Deck.Game);
            var       oldDeckShape     = gameShape.GetDeckShape(card.Card.Deck);

            if (oldDeckShape.Name == "Player4Hand")
            {
                //karta ktora chce zagrac gracz
                Card userPlayedCard = new Card(card.Card);

                //wygeneruj mozliwe ruchy gracza
                Deck player4Moves = new Deck(Player4Hand.Deck);
                player4Moves = GameRules.PossibleMoves(Player4Hand.Deck, WistCard, HeartsOpen, out renons);
                Player4Hand.Deck.Sort();

                //sprawdz czy karta ktora chce zagrac gracz jest w jego mozliwych ruchac
                if (player4Moves.Has(userPlayedCard.Rank, userPlayedCard.Suit))
                {
                    Player4UsedCards.AddPlayed(userPlayedCard);
                    Player4UsedCards.SortHigh();
                    //jezeli graz jest wistujacym to jego ruch staje sie karta wistujaca
                    if (WistPlayerNumber == 4)
                    {
                        WistCard = userPlayedCard;
                    }
                    //jezeli nie jest to sprawdz czy nie ma krotkosci
                    else if (renons)
                    {
                        Player4UsedCards.CardRenons[WistCard.Suit] = true;
                    }

                    card.Card.Deck = Player4Trick.Deck;
                    currentTrick.Add(userPlayedCard);
                    //jezeli zagral kiera to otworz kiery
                    if (userPlayedCard.Suit == CardSuit.Hearts)
                    {
                        HeartsOpen = true;
                    }

                    EndTrick();
                    return;
                }
            }
            //Nie zagral prawidlowej karty - odblokuj klikanie
            GameShape.CardMouseLeftButtonDown += GameShape_CardMouseLeftButtonDown;
            //GameShape.CardMouseLeftButtonDown += new MouseButtonEventHandler(GameShape_CardMouseLeftButtonDown);

            //gameShape.GetDeckShape(card.Card.Deck).UpdateCardShapes();
            UpdateAllCardShapes();
            //Canvas.SetZIndex(oldDeckShape, 0);
        }
コード例 #3
0
        //zagrywa karte z wybranej reki
        //funkcja do animacji, nie robi nic poza tym
        private void PlayCard(Deck playerHand, Deck playerTrick, Card cardToPlay)
        {
            var card         = cardToPlay;
            var gameShape    = GameShape.GetGameShape(card.Deck.Game);
            var cardShape    = gameShape.GetCardShape(card);
            var oldDeckShape = gameShape.GetDeckShape(card.Deck);

            card.Deck = playerTrick;
            // playerTrick.Visibility = System.Windows.Visibility.Visible;
            playerTrick.TopCard.Visible = true;

            gameShape.GetDeckShape(card.Deck).UpdateCardShapes();
        }
コード例 #4
0
        private void GameShape_CardMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            // click on player 4 hand will move the clicked card to the player 4 trick
            var card         = (CardShape)sender;
            var gameShape    = GameShape.GetGameShape(card.Card.Deck.Game);
            var cardShape    = gameShape.GetCardShape(card.Card);
            var oldDeckShape = gameShape.GetDeckShape(card.Card.Deck);

            if (oldDeckShape.Name == "Player4Hand")
            {
                card.Card.Deck = Player4Trick.Deck;
            }

            gameShape.GetDeckShape(card.Card.Deck).UpdateCardShapes();
            Canvas.SetZIndex(oldDeckShape, 0);
        }