/// <summary> /// Обновление данных при открытии нового алгоритма /// </summary> /// <param name="fileName"></param> private void RefreshData() { _robot = new MainCharacter(_algorithm); DataContext = _robot; _algorithmWork = new AlgorithmWork(); _field = new Field((int)_algorithm.FieldSize.Width + 1, (int)_algorithm.FieldSize.Height + 1); _field.InitializeField(_algorithm.BorderColor, _algorithm.DefaultColor); ActionsList.ItemsSource = _algorithm.ActionList; }
/// <summary> /// Выполнение текущего действия /// </summary> /// <param name="robot"></param> /// <param name="algorithm"></param> /// <param name="field"></param> public override void Execute(MainCharacter robot, Algorithm algorithm, Field field) { var fill = robot.CurrentAction as Fill; var algorithmWork = new AlgorithmWork(); for (var x = 0; x < algorithm.FieldSize.Width; x++) { for (var y = 0; y < algorithm.FieldSize.Height; y++) { if (robot.Position.X == x && robot.Position.Y == y) { field.CellsColorArray[x, y] = fill.Color; } } } }