/// <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); }
/// <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); }