static void Main(string[] args) { // Create the RobocodeEngine RobocodeEngine engine = new RobocodeEngine("C:\\robocode"); // Run from C:\Robocode // Add battle event handlers engine.BattleCompleted += new BattleCompletedEventHandler(BattleCompleted); engine.BattleMessage += new BattleMessageEventHandler(BattleMessage); engine.BattleError += new BattleErrorEventHandler(BattleError); // Show the Robocode battle view engine.Visible = true; // Disable log messages from Robocode RobocodeEngine.LogMessagesEnabled = false; // Setup the battle specification int numberOfRounds = 5; BattlefieldSpecification battlefield = new BattlefieldSpecification(800, 600); // 800x600 RobotSpecification[] selectedRobots = engine.GetLocalRepository("sample.RamFire,sample.Corners"); BattleSpecification battleSpec = new BattleSpecification(numberOfRounds, battlefield, selectedRobots); // Run our specified battle and let it run till it is over engine.RunBattle(battleSpec, true /* wait till the battle is over */); // Cleanup our RobocodeEngine engine.Close(); }
public void Run(RobocodeEngineParams engineParams) { _engine = new RobocodeEngine(Utility.RobocodeDir); // Event handlers _engine.BattleCompleted += BattleCompleted; _engine.BattleMessage += BattleMessage; _engine.BattleError += BattleError; // Setup _engine.Visible = true; var battlefieldSize = new BattlefieldSpecification(engineParams.Resolution.Width, engineParams.Resolution.Height); var selectedRobots = _engine.GetLocalRepository(engineParams.RobotNames); var battleSpec = new BattleSpecification(engineParams.NumRounds, engineParams.InactivityTime, engineParams.GunCoolingRate, engineParams.HideNames, battlefieldSize, selectedRobots); // Run battle _engine.RunBattle(battleSpec, true); }