public GameRunner CreateNewGame() { // Player chooses amount of players Game = new LudoGame() { Created = DateTime.Now }; Game.GamePlayers.Players = new List <GamePlayer>(); Game.Moves = new List <GameMove>(); Game.Status = "Created"; Game.GameName = InputDialogs.GetGameName(); int playerAmount = InputDialogs.GetPlayerAmount(); Game.GamePlayers.Players = InputDialogs.GetPlayers(playerAmount); int startingPlayerIndex = new Random().Next(0, Game.GamePlayers.Players.Count); Game.NextPlayer = Game.GamePlayers.Players[startingPlayerIndex]; Game.PieceSetup = Tools.GetGamePieceSetup(Game.GamePlayers.Players); Board.UpdateBoardBases(Game.PieceSetup); if (DbConnectionIsActive) { var db = new LudoGameDbContext(); SaveNewGameTask = new Task(() => SaveGameToDataBase(db)); SaveNewGameTask.Start(); } return(this); }
static void Main(string[] args) { Console.WriteLine("Welcome to Ludo!"); Console.WriteLine("Number of players:"); int numberOfPlayers = int.Parse(Console.ReadLine()); var game = new GameEngine.LudoGame(); game.StartGame(numberOfPlayers); }
public void LoadGameFromDatabase(LudoGame ludoGame, LudoGameDbContext db) { Game = db.Games .Where(g => g == ludoGame) .Include(g => g.GamePlayers) .Include(g => g.Moves) .Include(g => g.PieceSetup) .SingleOrDefault(); var gamePlayers = db.PlayersInGame .Where(pig => pig.GamePlayersId == Game.LudoGameId) .Include("Players") .Single(); var id = Game.LudoGameId; Game.GamePlayers = gamePlayers; }