Exemplo n.º 1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="Player"></param>
        /// <param name="guid"></param>
        /// <param name="findFreeLocationAndPlacePlayer">Ustaw na false aby Game Master nie przydzielal znalezionego przez siebie miejsca i nie ustawial gracza na pozycji</param>
        public void RegisterPlayer(Player.Player Player, string guid = null, bool findFreeLocationAndPlacePlayer = true)
        {
            Player.GUID = guid != null ? guid:  Guid.NewGuid().ToString();
            Player.SetBoard(new GameObjects.GameBoard((int)GetGameDefinition.BoardWidth, (int)GetGameDefinition.TaskAreaLength, (int)GetGameDefinition.GoalAreaLength));
            if (findFreeLocationAndPlacePlayer)
            {
                var playerField = GetEmptyFieldForPlayer(Player.Team);
                Player.SetLocation(playerField);
                playerField.Player = new GameObjects.Player(Player.ID, Player.Team);
            }
            Players.Add(Player);
            ConsoleWriter.Show("Registered Player with params: GUID: " + Player.GUID + ", ID: " + Player.ID + " , Location: " + Player.Location + ", Team: " + Player.Team);

            if (Players.Count == 2 * GetGameDefinition.NumberOfPlayersPerTeam)
            {
                State = GameMasterState.GameInprogress;
                PrintBoardState();
            }
        }