Esempio n. 1
0
 /// <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;
 }
Esempio n. 2
0
        /// <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;
                    }
                }
            }
        }