public Assistant(IGameSettings gameSettings, UiConnector uiConnector, IGameController gameController, GameInfo gameInfo) { _uiConnector = uiConnector; _gameController = gameController; _gameInfo = gameInfo; this.gameSettings = gameSettings; this._isOnlineGame = gameInfo is RemoteGameInfo; foreach (var program in AISystems.AIPrograms) { if (program.GetType().Name == gameSettings.Assistant.ProgramName) { Program = (IAIProgram)Activator.CreateInstance(program.GetType()); } } if (Program == null) { Program = new Fluffy(); } if (Program is Fluffy) { Fluffy fluffy = Program as Fluffy; fluffy.TreeDepth = gameSettings.Assistant.FluffyDepth; } if (Program is Fuego) { Fuego fuego = Program as Fuego; fuego.AllowResign = gameSettings.Assistant.FuegoAllowResign; fuego.Ponder = gameSettings.Assistant.FuegoPonder; fuego.MaxGames = gameSettings.Assistant.FuegoMaxGames; } RegisterHandlers(); }
public override GamePlayer Build(StoneColor color, TimeControlSettingsViewModel timeSettings, PlayerSettingsViewModel settings) { IAIProgram newInstance = (IAIProgram)Activator.CreateInstance(_ai.GetType()); if (settings.IsFuego) { Fuego fuego = (Fuego)newInstance; fuego.Ponder = settings.FuegoPonder; fuego.AllowResign = settings.FuegoResign; fuego.MaxGames = settings.FuegoMaxGames; } else if (settings.IsFluffy) { Fluffy fluffy = (Fluffy)newInstance; fluffy.TreeDepth = settings.FluffyTreeDepth; } return(new AiPlayerBuilder(color) .Name(this._aiLocalizedMetadata.Name + "(" + color.ToIgsCharacterString() + ")") .Rank("NR") .Clock(timeSettings.Build()) .AiProgram(newInstance) .Build()); }
public static void Test1() { Console.WriteLine("Test1 method StackTrace: '{0}'", Environment.StackTrace); Fluffy a = new Fluffy(); var aa = new Puppy.Puppy(); }