public void Serialize(BotProgram program)
        {
            var serializer = new ConsoleWriteLineVisitor();

            foreach (var command in program.Commands)
            {
                command.Visit(serializer);
            }
        }
Exemple #2
0
        public BotProgram Optimize(Model3D modelFrom, Model3D modelTo)
        {
            _program       = new BotProgram();
            _scene         = Scene.FromModel(modelFrom);
            _modelToBuild  = modelTo;
            _currentYLevel = modelFrom.Resolution - 1;

            OptimizeInternal();

            return(_program);
        }
        public BotProgram Optimize(Model3D modelToBuild)
        {
            _scene         = Scene.FromModel(modelToBuild);
            _program       = new BotProgram();
            _voxelsToVoid  = modelToBuild.NumberOfFullVoxels();
            _currentYLevel = modelToBuild.Resolution - 1;
            _model         = modelToBuild;

            OptimizeInternal();

            return(_program);
        }
        public BotProgram Optimize(Model3D modelToBuild)
        {
            _scene = Scene.New(modelToBuild.Resolution);
            _program = new BotProgram();
            _voxelsToFill = modelToBuild.NumberOfFullVoxels();
            _currentYLevel = 0;
            _model = modelToBuild;

            OptimizeInternal();

            return _program;
        }
        public BotProgram Optimize(Model3D modelToBuild)
        {
            _modelToBuild      = modelToBuild;
            _treeToConstruct   = _modelToBuild.ToOctoTree();
            _scene             = Scene.New(_modelToBuild.Resolution);
            _program           = new BotProgram();
            _resolution        = _modelToBuild.Resolution;
            _resolutionSquared = _resolution * _resolution;
            _dsu          = new DSU(_resolutionSquared * _resolution + 1);
            _voxelsFilled = 0;

            // Console.WriteLine("Starting to optimize...");

            OptimizeInternal();

            return(_program);
        }
 private void OptimizeProgram() {
     _program = new BotProgram(_movementOptimizer.OptimizeSMoves(_program.Commands.ToList()));
 }