Example #1
0
 private void SaveGame(BattleshipsServiceLibrary.Game game)
 {
     using (BattleshipsDbEntities bdc = new BattleshipsDbEntities())
     {
         BattleshipsDatabase.Game g = new BattleshipsDatabase.Game();
         g.End    = DateTime.Now;
         g.Winner = game.Winner.PlayerId;
         g.Loser  = game.Opponent(g.Winner).PlayerId;
         g.Start  = game.Start;
         foreach (Move m in game.Moves)
         {
             bdc.Turns.Add(new Turn()
             {
                 Game   = g.GameId,
                 Player = m.Player,
                 Time   = m.Time,
                 Hit    = m.Result == BlockState.HIT,
                 X      = m.AtX,
                 Y      = m.AtY
             });
         }
         bdc.Games.Add(g);
         bdc.SaveChanges();
     }
 }
Example #2
0
        public GameReplay GetGameReplay(long gameId)
        {
            GameReplay ret = new GameReplay();

            using (BattleshipsDbEntities bdc = new BattleshipsDbEntities())
            {
                BattleshipsDatabase.Game game = bdc.Games.Include("WinnerRef").Include("LoserRef").Include("Turns").FirstOrDefault(g => g.GameId == gameId);
                if (game == null)
                {
                    return(null);
                }
                ret.Player1 = new PlayerContract(game.WinnerRef.PlayerId, game.WinnerRef.Name);
                ret.Player2 = new PlayerContract(game.LoserRef.PlayerId, game.LoserRef.Name);
                foreach (Turn t in game.Turns)
                {
                    ret.Moves.Add(new Move(t.Player, t.X, t.Y, t.Hit == true ? BlockState.HIT : BlockState.MISS));
                }
            }
            return(ret);
        }