public static GameMasterSettingsConfiguration LoadSettingsFromFile(string path) { GameMasterSettings settings = null; try { using (StreamReader reader = new StreamReader(path)) { var xmlReader = XmlReader.Create(reader); var serializer = new XmlSerializer(typeof(GameMasterSettings)); if (serializer.CanDeserialize(xmlReader)) { settings = (GameMasterSettings)serializer.Deserialize(xmlReader); var errors = Validator.ValidateSettings(new GameMasterSettingsConfiguration(settings)); if (!string.IsNullOrEmpty(errors)) { ConsoleWriter.Error(Constants.ERRORS_WHILE_PARSING_XML); ConsoleWriter.Show(errors); return(null); } } } } catch (Exception e) { ConsoleWriter.Error(Constants.UNEXPECTED_ERROR + e.Message); ConsoleWriter.Show(e.StackTrace); } return(new GameMasterSettingsConfiguration(settings)); }
public static void DoGame(GameMasterSettingsConfiguration settings, bool testing = false) { var GameController = new GameController(settings, testing); GameController.RegisterPlayers(); GameController.HandleGame(); }
public GameMaster(GameMasterSettingsConfiguration settings) { State = GameMasterState.RegisteringGame; random = new Random(); Players = new List <Player.Player>(); pieces = new List <GameObjects.Piece>(); exchangeRequestList = new List <ExchengeRequestContainer>(); Settings = settings; InitPieceAdder(); }
public static void AssignParameterValue(string option, string arg) { switch (option) { case "--address": serverIP = IPAddress.Parse(arg); break; case "--port": serverPort = Int32.Parse(arg); break; case "--conf": settings = LoadSettingsFromFile(arg); ConsoleWriter.Show("Loading settings from file: " + arg); var settingsErrors = settings == null ? null : Validator.ValidateSettings(settings); if (settings == null || (settingsErrors != null && settingsErrors != "")) { ConsoleWriter.Error("Failed to load settings from file. Verify file and try again.\n Closing Agent."); settings = LoadSettingsFromFile("Championship.xml"); } break; } }
public static string ValidateSettings(GameMasterSettingsConfiguration settings) { var gameDefinitions = settings.GameDefinition; var errors = new StringBuilder(); var message = ValidateShamProbability(gameDefinitions.ShamProbability); if (!string.IsNullOrEmpty(message)) { errors.AppendLine(message); } message = ValidatePiecesFrequency(gameDefinitions.PlacingNewPiecesFrequency); if (!string.IsNullOrEmpty(message)) { errors.AppendLine(message); } message = ValidateInitialNumberOfPieces(gameDefinitions.InitialNumberOfPieces, gameDefinitions.TaskAreaLength, gameDefinitions.BoardWidth); if (!string.IsNullOrEmpty(message)) { errors.AppendLine(message); } message = ValidateBoardWidth(gameDefinitions.BoardWidth, gameDefinitions.TaskAreaLength, gameDefinitions.NumberOfPlayersPerTeam); if (!string.IsNullOrEmpty(message)) { errors.AppendLine(message); } message = ValidateTaskAreaLength(gameDefinitions.TaskAreaLength); if (!string.IsNullOrEmpty(message)) { errors.AppendLine(message); } message = ValidateGoalAreaLength(gameDefinitions.GoalAreaLength); if (!string.IsNullOrEmpty(message)) { errors.AppendLine(message); } message = ValidatePlayers(gameDefinitions.NumberOfPlayersPerTeam, gameDefinitions.TaskAreaLength, gameDefinitions.BoardWidth); if (!string.IsNullOrEmpty(message)) { errors.AppendLine(message); } message = ValidateGameName(gameDefinitions.GameName); if (!string.IsNullOrEmpty(message)) { errors.AppendLine(message); } message = ValidateGoals(gameDefinitions.Goals, gameDefinitions.GoalAreaLength, gameDefinitions.TaskAreaLength, gameDefinitions.BoardWidth); if (!string.IsNullOrEmpty(message)) { errors.AppendLine(message); } message = ValidateGameName(gameDefinitions.GameName); if (!string.IsNullOrEmpty(message)) { errors.AppendLine(message); } return(errors.ToString()); }
public void InitGameMaster() { defaultSettings = new GameMasterSettingsConfiguration(GameMasterSettings.GetDefaultGameMasterSettings()); defaultGameMaster = new GameArea.GameMaster(defaultSettings); defaultGameMaster.InitBoard(defaultGameMaster.Settings.GameDefinition); }
public GameObjectContainer(GameMasterSettingsConfiguration settings) { GameMaster = new GameArea.GameMaster(settings); }
public static void SetDefaultParameters() { serverIP = IPAddress.Parse("127.0.0.1"); serverPort = Int32.Parse("5678"); settings = LoadSettingsFromFile("Championship.xml"); }
public static bool StartGameMaster(IPAddress ip, Int32 port, GameMasterSettingsConfiguration settings) { GMController = new GameMasterController(new GameArea.GameMaster(settings)); return(GMController.ConnectToServer(ip, port)); }
public void InitGameMaster() { settings = new GameMasterSettingsConfiguration(GameMasterSettings.GetDefaultGameMasterSettings()); gameMaster = new GameArea.GameMaster(settings); }
public GameController(GameMasterSettingsConfiguration settings, bool testing = false) { GM = new GameArea.GameMaster(settings); Players = new List <IPlayer>(); TestMode = testing; }