Example #1
0
        /// <summary>
        ///     Проверка бьётся ли карта другой картой
        /// </summary>
        /// <param name="ar">Карта, которую нужно побить</param>
        /// <param name="br">Карта, которая бьёт другую карту</param>
        /// <param name="suit">Козырь в игре</param>
        /// <returns>True, если этой картой возможно побить</returns>
        private bool CheckCard(string ar, string br, char suit)
        {
            if (ar[0] != suit && br[0] == suit)
            {
                return(true);                                // простая карта на козырь
            }
            if (ar[0] == br[0])
            {
                ar = ar.Substring(1, ar.Length - 1);
                br = br.Substring(1, br.Length - 1);
                ar = new Durak().Change(ar);
                br = new Durak().Change(br);
                if (int.Parse(ar) < int.Parse(br))
                {
                    return(true);
                }
            }

            return(false);
        }
Example #2
0
        /// <summary>
        ///     Создание новой сессии/игры
        /// </summary>
        /// <param name="newGame">Объект игры</param>
        /// <param name="numberGameInTurn">Номер игры в очереди ожидания/></param>
        private static async void NewSession(ObjectGame newGame, int numberGameInTurn)
        {
            var game = new GameInfo(numberGameInTurn)
            {
                CountUser = newGame.CountPlayer
            };

            var cards = new Durak().GeneratedCards();

            for (var i = 0; i < game.CountUser; i++)
            {
                var myCards = new List <string>();
                for (var j = 0; j < 6; j++)
                {
                    myCards.Add(cards[0]);
                    cards.RemoveAt(0);
                }

                var user = new UserInfo
                {
                    Card = myCards
                };
                newGame.Users[i].UserInGame = user;
            }

            game.Deck          = cards;
            game.MainSuit      = cards[cards.Count - 1][0];
            game.Stage         = 0;
            game.Now           = new List <string>();
            newGame.NumberGame = 3;
            newGame.Info       = game;
            game.NumUserSelect = Math.Max(0, new Durak().FindSelectedUser(newGame));
            newGame.Info       = game;
            GameBotOnline.Turn[NumberGame][newGame.NumberInTurnGame] = newGame;
            // UPDATE CARD
            var result = new Durak().InlineFullGame(GameBotOnline.Turn[NumberGame][newGame.NumberInTurnGame]);

            await new Durak().SendMessage(GameBotOnline.Turn[NumberGame][newGame.NumberInTurnGame], result);
        }