Ejemplo n.º 1
0
        //control demanding options
        private bool CheckDemandPossibilities(CardRanks rank, CardSuits suit, int playerNumber)
        {
            CardsDemandingHandler Handler = new CardsDemandingHandler();

            return(Handler.CheckDemandPossibilities(rank, suit, playerNumber, ref demandedRank,
                                                    ref demandedSuit, ref status, ref PlayersCurrentData));
        }
Ejemplo n.º 2
0
        //sorting cards with the same rank
        private List <PlayingCard> SortOneRank(CardRanks rank)
        {
            List <PlayingCard> sameRankList = GetCardsWithSameRank(rank);
            List <PlayingCard> sordetList   = SortByColors(sameRankList);

            return(sordetList);
        }
Ejemplo n.º 3
0
        private int GetPower()
        {
            CardRanks rank = (CardRanks)Enum.Parse(typeof(CardRanks), this.Rank);
            CardSuits suit = (CardSuits)Enum.Parse(typeof(CardSuits), this.Suit);

            return((int)rank + (int)suit);
        }
        public void Test_Card_Constructor(string strCard, CardRanks rank, CardSuits suit)
        {
            var card2h = new Card(strCard);

            Assert.AreEqual(rank, card2h.Rank);
            Assert.AreEqual(suit, card2h.Suit);
        }
Ejemplo n.º 5
0
        //Confirming of putting card on the table
        private void BattleWindow_ConfirmButtonClick(object sender, ConfirmPutBattleCardOnTheTableEventArgs e)
        {
            //demanding options
            demandedRankRequest = e.DemandedRank;
            demandedSuitRequest = e.DemandedSuit;

            if (MatchingCardInBattleMode.CompareTo(new PlayingCard(e.NewSuit, e.NewRank, MatchingCardInBattleMode.DeckNumber)) == 0)
            {
                SendMovementDataToHost(GeneratePerformingAMoveRequestData(true,
                                                                          new List <PlayingCard>()
                {
                    MatchingCardInBattleMode
                }, false));
            }
            else
            {
                losingBattleCardAutoResponse = true;
                autoresponseCard             = new PlayingCard(MatchingCardInBattleMode.Suit, MatchingCardInBattleMode.Rank, MatchingCardInBattleMode.DeckNumber);
                autoresponseCard.ChangeCardFromJocker(e.NewSuit, e.NewRank);

                EngineHostDataOperator Operator = new EngineHostDataOperator();
                Operator.ResponseArrived += Operator_ResponseArrived;
                Operator.ChangeJokerIntoAnotherCard(GenerateJokerChangeRequest(
                                                        MatchingCardInBattleMode, e.NewRank, e.NewSuit), ThisPlayerControl, SynchCont);
            }
        }
Ejemplo n.º 6
0
 private void AssignContentOfCardsDescriptionTab()
 {
     //CardsDescriptionFrame.Content = null;
     CardsDescriptionFrame.Content        = cardDescriptionPageContent;
     currentCardDescriptionRank           = CardRanks.Two;
     CardsDescriptionBckButton.Visibility = Visibility.Collapsed;
 }
Ejemplo n.º 7
0
        //control demanding options
        public bool CheckDemandPossibilities(CardRanks newDemRank, CardSuits newDemSuit, int playerNumber,
                                             ref CardRanks demandedRank, ref CardSuits demandedSuit, ref GameStatus status,
                                             ref Dictionary <int, SinglePlayerData> PlayersCurrentData)
        {
            var    logger        = NLog.LogManager.GetCurrentClassLogger();
            string demandingType = "";

            if (Engine.ExtendedLogging)
            {
                logger.Info($"+++++++++++++++++++++++++++++++++++++++++++++++++++++++");
                logger.Info($"+++++++++++++++++++++++++++++++++++++++++++++++++++++++");
                logger.Info($"Demand possibilities checker current gme state: {status.ToString()}.");
                logger.Info($"+++++++++++++++++++++++++++++++++++++++++++++++++++++++");
                logger.Info($"+++++++++++++++++++++++++++++++++++++++++++++++++++++++");
            }

            //can't demand rank and suit at the same time
            if (newDemRank != CardRanks.None && newDemSuit != CardSuits.None)
            {
                string text = "Rank and Suit can not be demanded both at the same time";
                logger.Error(text);
                throw new ArgumentException(text);
            }

            //set demanding after placing the card on the table
            if (newDemRank == CardRanks.None && newDemSuit == CardSuits.None)
            {
                demandingType = "none";
                demandedRank  = CardRanks.None;
                demandedSuit  = CardSuits.None;
                //status
                if (status != GameStatus.Battle && status != GameStatus.Stops &&
                    status != GameStatus.StopsAndBattle)
                {
                    status = GameStatus.Standard;
                }
                ResetDemandingOptionsForAllPlayers(ref PlayersCurrentData, false);
            }
            else if (newDemRank != CardRanks.None && newDemSuit == CardSuits.None)
            {
                demandingType = "rank";
                SetRankDemandOption(playerNumber, newDemRank, ref demandedRank, ref demandedSuit, ref PlayersCurrentData);
                //status
                status = GameStatus.RankDemanding;
            }
            else if (newDemRank == CardRanks.None && newDemSuit != CardSuits.None)
            {
                demandingType = "suit";
                SetSuitDemandOption(playerNumber, newDemSuit, ref demandedRank, ref demandedSuit, ref PlayersCurrentData);
                //status
                status = GameStatus.SuitDemanding;
            }

            if (Engine.ExtendedLogging)
            {
                logger.Info($"Demand possibilities checking done. Demanded rank: {demandedRank.ToString()}, demanded suit: {demandedSuit.ToString()}, type: {demandingType}.");
            }

            return(true);
        }
Ejemplo n.º 8
0
 //method for checkin if card can stop move = if it is four
 private void CheckIfCardCanStopMove(CardRanks cardRank)
 {
     if (cardRank == CardRanks.Four)
     {
         stopsMove = true;
     }
 }
Ejemplo n.º 9
0
 protected virtual void OnConfirmButtonClick(CardSuits suit, CardRanks rank, CardRanks demRank, CardSuits demDuit)
 {
     ConfirmButtonClick?.Invoke(this, new ConfirmPutBattleCardOnTheTableEventArgs()
     {
         NewRank = rank, NewSuit = suit, DemandedRank = demRank, DemandedSuit = demandedSuit
     });
 }
Ejemplo n.º 10
0
 //method for checking if the card is Brave
 private void CheckIfCardIsBrave(CardRanks cardRank, CardSuits cardSuit)
 {
     if (cardRank == CardRanks.Two || cardRank == CardRanks.Three ||
         (cardRank == CardRanks.King && (cardSuit == CardSuits.Spade || cardSuit == CardSuits.Heart)))
     {
         brave = true;
     }
 }
Ejemplo n.º 11
0
 //method for checking if the card can be demanded
 private void CheckIfThisCardCanBeDemanded(CardRanks cardRank)
 {
     if (cardRank == CardRanks.Five || cardRank == CardRanks.Six || cardRank == CardRanks.Seven || cardRank == CardRanks.Eight ||
         cardRank == CardRanks.Nine || cardRank == CardRanks.Ten || cardRank == CardRanks.Queen)
     {
         canBeDemanded = true;
     }
 }
Ejemplo n.º 12
0
 //method for establishing demanded suit
 private void SetSuitDemandOption(int playerNumber, CardSuits demSuit, ref CardRanks demandedRank,
                                  ref CardSuits demandedSuit, ref Dictionary <int, SinglePlayerData> PlayersCurrentData)
 {
     ResetDemandingOptionsForAllPlayers(ref PlayersCurrentData, true);
     demandedRank = CardRanks.None;
     demandedSuit = demSuit;
     PlayersCurrentData[playerNumber].ThisPlayerStartedSuitDemanding = true;
 }
Ejemplo n.º 13
0
        //change one jocker card into any other card
        public bool ChangeJockerIntoAnotherCard(int playerNumber, PlayingCard card, CardRanks newRank, CardSuits newSuit,
                                                bool calledByEngine)
        {
            JokerChanger jokerChanger = new JokerChanger(playerNumber, card, newRank, newSuit,
                                                         currentPlayer, calledByEngine);

            return(jokerChanger.ChangeJockerIntoAnotherCard(ref PlayersCurrentData));
        }
        public void ToStringTest()
        {
            CardSuits suit = CardSuits.Spade;
            CardRanks rank = CardRanks.Ace;
            Card      card = new(suit, rank);

            Assert.AreEqual(card.ToString(), ((char)suit).ToString() + ((char)rank).ToString());
        }
Ejemplo n.º 15
0
 private void CreatingPageCommonMethod(CardRanks newRank)
 {
     rank = newRank;
     InitializeComponent();
     AssignTextSources();
     AssignTextsToTextBlocks();
     AssignCardsPictures();
     LogOpeningOfNewPage();
 }
        public void RetainingValueTest()
        {
            CardSuits suit = CardSuits.Club;
            CardRanks rank = CardRanks.Eight;
            Card      card = new(suit, rank);

            Assert.True(card.Suit == suit &&
                        card.Rank == rank);
        }
Ejemplo n.º 17
0
        //clicking proper game suit - selection of card suit
        private void RankButton_Click(object sender, RoutedEventArgs e)
        {
            thisRank = (CardRanks)(sender as WrapPanelSelectableItem).Tag;
            ResetSelectionOfRanks();
            (sender as WrapPanelSelectableItem).ItemSelected = Visibility.Visible;
            var logger = NLog.LogManager.GetCurrentClassLogger();

            logger.Info($"New choosen Card rank: {thisRank.ToString()}.");
        }
Ejemplo n.º 18
0
 public CardCorrectnessChecker(PlayingCard cardToCheck, PlayingCard topCard,
                               CardRanks demandedRank, CardSuits demandedSuit, GameStatus status)
 {
     this.cardToCheck  = cardToCheck;
     this.topCard      = topCard;
     this.demandedRank = demandedRank;
     this.demandedSuit = demandedSuit;
     this.status       = status;
     logger            = LogManager.GetCurrentClassLogger();
 }
Ejemplo n.º 19
0
 private void ResetInternalDemandOptions()
 {
     jackOrAceInCardsToPutOnTheTable = false;
     demandedRankRequest             = CardRanks.None;
     IsPlayerDemandingRank           = false;
     RankDemandedByThisPlayer        = RankAndSuitNameProvider.GetRankName(CardRanks.None, "pl");
     demandedSuitRequest             = CardSuits.None;
     IsPlayerDemandingSuit           = false;
     SuitDemandedByThisPlayer        = RankAndSuitNameProvider.GetSuitName(CardSuits.None, "pl");
 }
Ejemplo n.º 20
0
 //method for checking next move direction
 private void EstablishNextMoveDirection(CardRanks cardRank, CardSuits cardSuit)
 {
     if (cardRank == CardRanks.King && cardSuit == CardSuits.Spade)
     {
         nextMove = CardMoveDirections.Backward;
     }
     else
     {
         nextMove = CardMoveDirections.Forward;
     }
 }
Ejemplo n.º 21
0
 private bool ChackIfPassedCardHasSpecificRank(PlayingCard card, CardRanks rank)
 {
     if (card.Rank == rank)
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
Ejemplo n.º 22
0
 //static method for determining if passed rank can be demanded
 public static bool CanRankBeDemanded(CardRanks rank)
 {
     if (rank == CardRanks.Five || rank == CardRanks.Six || rank == CardRanks.Seven || rank == CardRanks.Eight ||
         rank == CardRanks.Nine || rank == CardRanks.Ten || rank == CardRanks.Queen)
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
Ejemplo n.º 23
0
        //clicking proper game suit - selection of card suit
        private void SuitButton_Click(object sender, RoutedEventArgs e)
        {
            thisSuit = (CardSuits)(sender as WrapPanelSelectableItem).Tag;
            thisRank = CardRanks.None;
            var logger = NLog.LogManager.GetCurrentClassLogger();

            logger.Info($"New choosen Card suit: {thisSuit.ToString()}.");
            ResetSelectionOfSuits();
            (sender as WrapPanelSelectableItem).ItemSelected = Visibility.Visible;
            RemoveAllChildrenFromRankScrllView();
            PopulateRankWrapPanel();
        }
Ejemplo n.º 24
0
        public JokerChanger(int playerNumber, PlayingCard card, CardRanks newRank, CardSuits newSuit,
                            int curremtPlayerNumber, bool calledByEngine)
        {
            this.playerNumber        = playerNumber;
            this.curremtPlayerNumber = curremtPlayerNumber;
            this.card           = card;
            this.newRank        = newRank;
            this.newSuit        = newSuit;
            this.calledByEngine = calledByEngine;
            var logger = NLog.LogManager.GetCurrentClassLogger();

            logger.Info($"Joker changed class - constructor. Passed card created by joker: {card.CreatedByJocker}.");
        }
Ejemplo n.º 25
0
        //method for getting cards with the same rank from all cards in control
        private List <PlayingCard> GetCardsWithSameRank(CardRanks rank)
        {
            List <PlayingCard> cards = new List <PlayingCard>();

            foreach (PlayingCard item in currentCards)
            {
                if (item.Rank == rank)
                {
                    cards.Add(item);
                }
            }
            return(cards);
        }
Ejemplo n.º 26
0
        //constructor
        public JokerChange()
        {
            InitializeComponent();

            thisRank = CardRanks.None;
            thisSuit = CardSuits.None;

            PopulateSuitsWrapPanel();

            var logger = NLog.LogManager.GetCurrentClassLogger();

            logger.Info("Joker changing window initialized");
        }
Ejemplo n.º 27
0
        //used for counting the number of specific ranked cards there are in the hand.
        static int CardRankCounter(Card[] setOfCards, CardRanks crdrnk)
        {
            int setLength = 5;
            int returnValue = 0;

            for (int n = 0; n < setLength; n++)
            {
                if (setOfCards[n].CardRank == crdrnk)
                {
                    returnValue++;
                }
            }
            return returnValue;
        }
Ejemplo n.º 28
0
        //used for counting the number of specific ranked cards there are in the hand.
        static int CardRankCounter(Card[] setOfCards, CardRanks crdrnk)
        {
            int setLength   = 5;
            int returnValue = 0;

            for (int n = 0; n < setLength; n++)
            {
                if (setOfCards[n].CardRank == crdrnk)
                {
                    returnValue++;
                }
            }
            return(returnValue);
        }
Ejemplo n.º 29
0
        //method for checking if car can demand AnotherCards
        private void CheckIfCardCanDemandAnotherCards(CardRanks cardRank)
        {
            if (cardRank == CardRanks.Jack)
            {
                canDemand = true;
                demands   = DemandOptions.Ranks;
            }

            if (cardRank == CardRanks.Ace)
            {
                canDemand = true;
                demands   = DemandOptions.Suits;
            }
        }
Ejemplo n.º 30
0
 private static string GenerateResourceName(CardSuits suit, CardRanks rank)
 {
     if (rank == CardRanks.Joker)
     {
         return($"{rank.ToString()}_of_none");
     }
     else if (rank != CardRanks.Joker && rank != CardRanks.None)
     {
         return($"{rank.ToString()}_of_{suit.ToString()}");
     }
     else
     {
         return("");
     }
 }
Ejemplo n.º 31
0
        public static void Main()
        {
            string input = Console.ReadLine();

            string[] cards = typeof(CardRanks).GetEnumNames();

            Console.WriteLine("Card Ranks:");

            foreach (var card in cards)
            {
                CardRanks parsed = (CardRanks)Enum.Parse(typeof(CardRanks), card);

                Console.WriteLine($"Ordinal value: {(int)parsed}; Name value: {parsed}");
            }
        }
Ejemplo n.º 32
0
 /// <summary>
 /// Constructor to instantiate Card.
 /// </summary>
 /// <param name="suite">Suite of the card</param>
 /// <param name="rank">Rank of the card</param>
 public Card(CardSuites suite, CardRanks rank)
 {
     this.Suite = suite;
     this.Rank = rank;
 }