示例#1
0
        /// <summary>
        /// регистрируем игрока, и даем ему уникальный ключ
        /// </summary>
        /// <returns>данные об игроке</returns>
        public Gamer Registration(String IdDevice)
        {
            using (BaldaEntities BE = new BaldaEntities())
            {
                ListOfGamer player = new ListOfGamer();
                try
                {
                    // ищем игрока
                    var gamer = (from c in BE.Gamers
                                 where c.UnicId.Contains(IdDevice)
                                 select c).SingleOrDefault();
                    // добавляем игрока в список ожидающих напарника
                    player.IdGamer = gamer.Id;
                    BE.ListOfGamers.Add(player);
                    BE.SaveChanges();

                    return(gamer);
                }
                catch (Exception ex)
                {
                    // если такой игрок еще не зарегистрирован - создаем
                    Gamer gamer = new Gamer();
                    gamer.UnicId = IdDevice;
                    gamer.Name   = Guid.NewGuid().ToString();
                    BE.Gamers.Add(gamer);
                    BE.SaveChanges();
                    // добавляем игрока в список ожидающих напарника
                    player.IdGamer = gamer.Id;
                    BE.ListOfGamers.Add(player);
                    BE.SaveChanges();

                    return(gamer);
                }
            }
        }
示例#2
0
        public String GetRandomWord()
        {
            using (var db = new BaldaEntities())
            {
                ///получить случайное слов из 5 букв
                Random      rand = new Random();
                Dictionary5 data = (from c in db.Dictionary5
                                    where c.ID == rand.Next()
                                    select c).SingleOrDefault();

                db.SaveChanges();

                return(data.Word);
            }
        }
示例#3
0
        /// <summary>
        /// анализ колическа ожидаемых пользователей и в случае кратности - начало игры
        /// </summary>
        /// <returns>объект игры либо пустой объект, если парнеров не хватает </returns>
        public Game StartGame()
        {
            using (var db = new BaldaEntities())
            {
                var players = (from c in db.ListOfGamers
                               where c.IdState == null
                               select c).ToList();
                // если в списке более двух ожидающих пользователей, перемещаем их в "игра" и удалем из "списка ожидаемых"
                if (players.Count > 1)
                {
                    Game game = new Game();
                    game.IdFirstPlayer  = players[0].IdGamer;
                    game.IdSecondPlayer = players[1].IdGamer;
                    game.WhoseStep      = "0";

                    db.Games.Add(game);
                    db.ListOfGamers.Remove(players[0]);
                    db.ListOfGamers.Remove(players[1]);

                    return(game);
                }
                return(new Game());
            }
        }