Exemple #1
0
    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();
    }
Exemple #2
0
        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);
        }