コード例 #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();
    }
コード例 #2
0
        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);
        }