Beispiel #1
0
        //public void TryCloseAnyGamerCard()
        //{
        //    var i = DeskCards.Count;
        //    foreach (var cardDesk in DeskCards)
        //    {
        //        foreach (var card in BotHand)
        //        {
        //            if (IsClosingRight(card, cardDesk.Back))
        //            {
        //                cardDesk.Close(card);
        //                BotHand.Remove(card);
        //                i--;
        //                break;
        //            }
        //        }
        //    }

        //    if (i != 0)
        //    {
        //        foreach (var card in DeskCards)
        //        {
        //            BotHand.Add(card.Back);
        //            if (card.Fore != null)
        //                BotHand.Add(card.Fore);
        //        }
        //        Thread.Sleep(1000);
        //        DeskCards.Clear();
        //        AddCardsToGamersHands();
        //    }

        //    if (i == 0)
        //    {
        //        DeskCards.Clear();
        //        AddCardsToGamersHands();
        //        WhosTurn = Players.Bot;
        //    }
        //}

        public void CloseTurn()
        {
            if (DeskCards[0].ContainsFore)
            {
                if (WhosTurn == Players.Gamer)
                {
                    DeskCards.Clear();
                    AddCardsToGamersHands();
                    WhosTurn = Players.Bot;
                }
                else
                {
                    DeskCards.Clear();
                    AddCardsToGamersHands();
                    WhosTurn = Players.Gamer;
                }
            }
            else if (DeskCards[0].ContainsFore == false)
            {
                if (WhosTurn == Players.Gamer)
                {
                    BotHand.Add(DeskCards[0].Back);
                    DeskCards.Clear();
                    AddCardsToGamersHands();
                }
                else
                {
                    GamerHand.Add(DeskCards[0].Back);
                    DeskCards.Clear();
                    AddCardsToGamersHands();
                }
            }
        }
Beispiel #2
0
 public void CloseGamerCard()
 {
     foreach (var card in BotHand)
     {
         if (!IsClosingRight(card, DeskCards[0].Back))
         {
             continue;
         }
         DeskCards[0].Close(card);
         BotHand.Remove(card);
         break;
     }
 }
Beispiel #3
0
        public void DoTransferBot()
        {
            var cardForTransfer = DeskCards.Last().Back;

            foreach (var card in BotHand)
            {
                if (card.Rank == cardForTransfer.Rank)
                {
                    DeskCards.Add(new DeskCardsSlot(card));
                    BotHand.Remove(card);
                    WhosTurn = Players.Bot;
                    break;
                }
            }
        }
Beispiel #4
0
        private void AddCardsToGamersHands()
        {
            GamerHand.Remove(null);
            BotHand.Remove(null);
            if (Deck == null)
            {
                return;
            }
            if (WhosTurn == Players.Gamer)
            {
                DoDistribute(GamerHand, BotHand);
            }

            if (WhosTurn == Players.Bot)
            {
                DoDistribute(BotHand, GamerHand);
            }
        }
Beispiel #5
0
        public void DoTossBot()
        {
            foreach (var cardDesk in DeskCards)

            {
                foreach (var cardBot in BotHand)
                {
                    if (cardDesk.Fore.Rank == cardBot.Rank || cardDesk.Back.Rank == cardBot.Rank)
                    {
                        if (DeskCards.Count < 5)
                        {
                            DeskCards.Add(new DeskCardsSlot(cardBot));
                            BotHand.Remove(cardBot);
                            break;
                        }
                    }
                }
            }
        }
Beispiel #6
0
        public Tuple <string, string> TurnBot2Player()
        {
            var cardFound = false;

            foreach (var card in BotHand)
            {
                if (card.Suit == TrumpCard.Suit)
                {
                    continue;
                }
                DeskCards = new List <DeskCardsSlot> {
                    new DeskCardsSlot(card)
                };
                BotHand.Remove(card);
                cardFound = true;
                break;
            }

            if (!cardFound)
            {
                DeskCards.Add(new DeskCardsSlot(BotHand[0]));
                BotHand.RemoveAt(0);
            }

            var IsGamerCanClose = false;

            foreach (var card in GamerHand)
            {
                if (!IsClosingRight(card, DeskCards[0].Back))
                {
                    continue;
                }
                IsGamerCanClose = true;
                break;
            }

            return(IsGamerCanClose
                ? null
                : new Tuple <string, string>("Упс", "Вам нечем покрыть карту противника"));
        }