public async Task RestartGame(string password, GameStartOptions startOptions) { Stopwatch processingtime = new Stopwatch(); processingtime.Reset(); processingtime.Start(); Log.Information("Restart Game called."); if (password == config["StartGameCode"]) { if (game.Players.Count() == 0) { Log.Warning("Couldnt restart game, no players connected."); await BroadCastMessageAsync("No players connected. Unable to restart."); return; } await BroadCastMessageAsync("Restarting game..."); game.RestartGame(startOptions); await StartDeployPhase(); await Clients.All.SendStatus(getStatus()); processingtime.Stop(); Log.Information("Restart Game successfuly executed in: " + processingtime.Elapsed); } else { processingtime.Stop(); Log.Warning("Couldnt Restart Game, wrong password."); await Clients.Client(Context.ConnectionId).SendMessage("Server", "Incorrect password."); } }
public Game(GameStartOptions startOptions) { Board = new Board(createTerritories(startOptions.Height, startOptions.Width)); StartingArmies = startOptions.StartingArmiesPerPlayer; gameState = GameState.Initializing; playerDictionary = new ConcurrentDictionary <string, IPlayer>(); }
private void inititializeGame(GameStartOptions startOptions) { Board = new Board(createTerritories(startOptions.Height, startOptions.Width)); StartingArmies = startOptions.StartingArmiesPerPlayer; gameState = GameState.Initializing; this.startOptions = startOptions; StartJoining(); }
public static Game.Game InitializeGame(int height, int width, int numOfArmies) { GameStartOptions startOptions = new GameStartOptions { Height = height, Width = width, StartingArmiesPerPlayer = numOfArmies }; Game.Game newGame = new Game.Game(startOptions); newGame.StartJoining(); return(newGame); }
public void RestartGame(GameStartOptions startOptions) { foreach (var p in playerDictionary.Values) { playerDictionary[p.Token].Strikes = 0; } while (startOptions.StartingArmiesPerPlayer % startOptions.ArmiesDeployedPerTurn != 0) { startOptions.StartingArmiesPerPlayer++;//round up to an even number } inititializeGame(startOptions); StartGame(); }
public async Task RestartGame(string password, GameStartOptions startOptions) { if (password == config["StartGameCode"]) { if (game.Players.Count() == 0) { await BroadCastMessageAsync("No players connected. Unable to restart."); return; } await BroadCastMessageAsync("Restarting game..."); game.RestartGame(startOptions); await StartDeployPhase(); await Clients.All.SendStatus(getStatus()); } else { await Clients.Client(Context.ConnectionId).SendMessage("Server", "Incorrect password."); } }
public IActionResult SetupNewGame(GameStartOptions options) { Game g = new Game(); //Verify game ID is unique Random r = new Random(); while (_gameService.GameExist(g.GameId)) { g.GameId = r.Next(1000, 9999); } HumanPlayer hp = new HumanPlayer(options.PlayerName); hp = new HumanPlayer(options.PlayerName); g.Players.Add(hp); if (options.ComputerPlayer) { g.Players.Add(new ComputerPlayer("Computer")); } _gameService.SaveGame(g); return(RedirectToAction("Index", new { Id = g.GameId, PlayerId = hp.Guid.ToString() })); }
private void _quit_Click(object sender, RoutedEventArgs e) { SelectedOption = GameStartOptions.quit; Close(); }
private void _newGame_Click(object sender, RoutedEventArgs e) { SelectedOption = GameStartOptions.newGame; Close(); }
public GameOverDialog() { InitializeComponent(); SelectedOption = GameStartOptions.cancel; }
public Game(GameStartOptions startOptions) { playerDictionary = new ConcurrentDictionary <string, IPlayer>(); inititializeGame(startOptions); }