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 BattleRunner(String roboPath = @"C:\robocode") { _engine = new RobocodeEngine(roboPath); // Show the Robocode battle view _engine.Visible = true; 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(); }
/// <inheritdoc/> public void RunBattle(BattleSpecification battleSpecification, string initialPositions, bool waitTillOver) { engine.runBattle(MapBattleSpecification(battleSpecification), initialPositions, waitTillOver); }
/// <inheritdoc/> public void RunBattle(BattleSpecification battleSpecification, bool waitTillOver) { RunBattle(battleSpecification, "", waitTillOver); }
/// <inheritdoc/> public void RunBattle(BattleSpecification battleSpecification) { RunBattle(battleSpecification, null, false); }
private robocode.control.BattleSpecification MapBattleSpecification(BattleSpecification spec) { robocode.control.BattlefieldSpecification battlefieldSpec = new robocode.control.BattlefieldSpecification(spec.Battlefield.Width, spec.Battlefield.Height); robocode.control.RobotSpecification[] robotSpecs = MapRobotSpecifications(spec.Robots); robocode.control.RobotSetup[] initialSetups = MapInitialSetups(spec.InitialSetups); return new robocode.control.BattleSpecification(battlefieldSpec, spec.NumRounds, spec.InactivityTime, spec.GunCoolingRate, spec.SentryBorderSize, spec.HideEnemyNames, robotSpecs, initialSetups); }