Ejemplo n.º 1
0
 //choicement or next card to put on the table
 private void ThisPlayerControl_AnotherSelectedCardClick(object sender, MainUserEventArgs e)
 {
     if (e.NotPermitted == Visibility.Collapsed && e.AlreadySelected == Visibility.Collapsed && CardsChoosenByThisPlayer.Count > 0)
     {
         CardsChoosenByThisPlayer.Add(e.PlayingCard);
         ThisPlayerControl.MarkCardsAsAlreadyChoosen(CardsChoosenByThisPlayer);
     }
     ThisPlayerChoosenCardsControl.AssignCardsContent(CardsChoosenByThisPlayer);
 }
Ejemplo n.º 2
0
 //event handler of taking a card (cards) from deck event
 private void DeckRepresentationControl_TakeCardClick(object sender, MainUserEventArgs e)
 {
     if (!BlockPossibilityOfTakingCardFromDeck)
     {
         deckRepresentationControlClickCounter++;
         if (deckRepresentationControlClickCounter >= 2)
         {
             deckRepresentationControlClickCounter = 0;
             SendMovementDataToHost(GeneratePerformingAMoveRequestData(false, new List <PlayingCard>(), false));
         }
     }
 }
Ejemplo n.º 3
0
        //changing card from joker into another or backwards
        private void ThisPlayerControl_CardJokerClick(object sender, MainUserEventArgs e)
        {
            currentCard = e.PlayingCard;

            if (e.PlayingCard.Rank == CardRanks.Joker && e.WasMadeByJoker == false)
            {
                Windows.JokerChange JokerWindow = new Windows.JokerChange()
                {
                    Owner = this
                };
                JokerWindow.JokerWindowClosing += JokerWindow_OKButtonClick;
                JokerWindow.ShowDialog();
                MemoryManagement.FlushMemory();
            }
            else if (e.WasMadeByJoker == true)
            {
                EngineHostDataOperator Operator = new EngineHostDataOperator();
                Operator.ChangeJokerBackFromAnotherCard(GenerateJokerChangeBackRequest(e.PlayingCard), ThisPlayerControl, SynchCont);
            }
        }
Ejemplo n.º 4
0
        //choicement of first card to put on the table
        private void ThisPlayerControl_FirstSelectedCardClick(object sender, MainUserEventArgs e)
        {
            try
            {
                List <PlayingCard>  permittedCardsList = new List <PlayingCard>();
                MatchingCardsFinder Finder             = new MatchingCardsFinder(thisPlayerNumber, e.PlayingCard, false,
                                                                                 AlreadyUsedCardsControl.Cards[0], ThisPlayerControl.ButtonCards, GameStateData.CurrentlyDemandedRank,
                                                                                 GameStateData.CurrentlyDemandedSuit, GameStateData.CurrentStatusOfTheGame);
                List <FamiliarCardsData> FamiliarCardsLIst = Finder.FindMatchingCardsInPlayerHand();
                foreach (FamiliarCardsData item in FamiliarCardsLIst)
                {
                    permittedCardsList.Add(item.Card);
                }
                permittedCardsList.Add(e.PlayingCard);
                //make not matching cards gray
                ThisPlayerControl.HighlightNotMatchingCards(permittedCardsList);
                //reset list of choosen cards and add the one clicked
                CardsChoosenByThisPlayer.Clear();
                CardsChoosenByThisPlayer.Add(e.PlayingCard);
                //make one card green
                ThisPlayerControl.MarkCardsAsAlreadyChoosen(CardsChoosenByThisPlayer);

                //demanding windows
                if (e.PlayingCard.Rank == CardRanks.Jack)
                {
                    RankDemandingWindowHandle(e.PlayingCard.Suit);
                }
                else if (e.PlayingCard.Rank == CardRanks.Ace)
                {
                    SuitDemandingWindowHandle();
                }

                MakeMoveButtonVisible = true;
            }
            catch (Exception ex)
            {
                var logger = NLog.LogManager.GetCurrentClassLogger();
                logger.Info($"Error while trying to choose firs card to put on the table: {ex.Message}.");
            }
            ThisPlayerChoosenCardsControl.AssignCardsContent(CardsChoosenByThisPlayer);
        }
Ejemplo n.º 5
0
 //resetting cards selection
 private void ThisPlayerControl_ResetLabel(object sender, MainUserEventArgs e)
 {
     ResetUIAfterMakingMoveOrCancelingMove();
 }