Beispiel #1
0
 //method for changing game window view in case of making move
 private void ResetUIAfterMakingMoveOrCancelingMove()
 {
     CardsChoosenByThisPlayer.Clear();
     ThisPlayerControl.ResetAllHighlights();
     ThisPlayerChoosenCardsControl.EraseCrdsContent();
     ResetInternalDemandOptions();
     MakeMoveButtonVisible = false;
 }
Beispiel #2
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);
 }
Beispiel #3
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);
        }