Example #1
0
        public Player StartGame()
        {
            CreatePlayers();
            Shuffle();
            Razdacha();

            Dictionary <Player, Card> dic = new Dictionary <Player, Card>();
            int    maxCard = 0;
            Player winner  = null;

            while (!Players.Any(a => a.Cards.Count == 36))
            {
                foreach (Player i in Players)
                {
                    i.Cards.Peek().PrintCard();
                    dic.Add(i, i.Cards.Pop());
                }
                Console.WriteLine("");

                foreach (var i in dic)
                {
                    if ((int)i.Value.Nominal > maxCard)
                    {
                        maxCard = (int)i.Value.Nominal;
                        winner  = i.Key;
                    }
                }
                winner.PrintInfo();

                foreach (var i in dic)
                {
                    Players[winner.Id].Cards.Push(i.Value);
                }
                maxCard = 0;
                winner  = null;
                dic     = new Dictionary <Player, Card>();
            }

            return(Players.FirstOrDefault(x => x.Cards.Count == 36));
        }