Exemple #1
0
        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());
        }
Exemple #2
0
        /// <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");
        }