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(); }
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); }
//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(); }
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); }