private void SetPlayers() { var numberOfHumanPlayers = GetNumberOfPlayers("human"); var numberOfComputerPlayers = GetNumberOfPlayers("computer"); if (numberOfHumanPlayers != 0) { for (var i = 1; i <= numberOfHumanPlayers; i++) { var humanPlayer = new HumanPlayer(i, new PlayerConsoleRenderer()); try { Game.AddPlayerToGame(humanPlayer); } catch (Exception ex) { Renderer.RenderMessage(ex.Message); i--; } } } if (numberOfComputerPlayers != 0) { numberOfHumanPlayers = numberOfHumanPlayers > 0? numberOfHumanPlayers : numberOfHumanPlayers + 1; for (var i = numberOfHumanPlayers; i <= numberOfComputerPlayers; i++) { var computerPlayer = new ComputerPlayer(i + 1, new PlayerConsoleRenderer()); try { Game.AddPlayerToGame(computerPlayer); } catch (Exception ex) { Renderer.RenderMessage(ex.Message); i--; } } } Game.SetCurrentPlayer(Game.GetGamePlayers().First()); }
/// <summary> /// Adds a player to the game /// </summary> /// <param name="game"></param> /// <param name="player"></param> /// <param name="teamName"></param> /// <returns></returns> public static string AddPlayerToGame(IGame game, GameClient player, string teamName, bool Forced = false) { bool gameStarted = game.HasGameStarted(); int maxPlayers = game.GetMaxPlayers(); int players = game.GetPlayerCount(); RoleplayTeam team = game.GetTeam(teamName); if (!Forced) { if (gameStarted) { return("GAMESTARTED"); } if (players >= maxPlayers) { return("MAXPLAYERS"); } if (game.GetGameMode() != GameMode.Brawl && game.GetGameMode() != GameMode.SoloQueue && game.GetGameMode() != GameMode.SoloQueueGuns) { if (team == null) { return("TEAMNULL"); } if (!game.CanJoinTeam(team)) { return("TEAMFULL"); } } } bool HasPlayerBeenAdded = game.AddPlayerToGame(player, team); if (!HasPlayerBeenAdded) { return("ERROR"); } if (game.GetGameMode() == GameMode.Brawl || game.GetGameMode() == GameMode.SoloQueue || game.GetGameMode() == GameMode.SoloQueueGuns) { player.SendWhisper("Você se juntou ao Evento " + game.GetName() + "!", 1); } else { player.SendWhisper("Você se juntou ao Time " + team.Name + " no Evento " + game.GetName() + "!", 1); } player.GetRoleplay().Game = game; player.GetRoleplay().Team = team; if (Forced) { player.GetRoleplay().ReplenishStats(); } if (game.GetGameMode() != GameMode.Brawl && game.GetGameMode() != GameMode.SoloQueue && game.GetGameMode() != GameMode.SoloQueueGuns) { player.GetRoleplay().Team.SendToPoint(player); } return("OK"); }