Сдать решение задачи B-Марсоход Феникс Задача B: Марсоход Феникс
Марсоход «Феникс» выполняет сбор грунта Марса, который необходимо отправить на Землю для последующего анализа. Для отправки грунта ему необходимо добраться с места раскопок до базы. К сожалению, если «Феникс» пройдет по кратчайшему пути до базы, то его центральный процессор может сломаться, так как в некоторых местах на Марсе очень высокий уровень радиации, который изменяет уровень изношенности центрального процессора, измеряющийся в пунктах. Чтобы иметь возможность его контролировать, ученые составили карту Марса, которая представляет собой клетчатое поле 7 \times 7. В зависимости от уровня радиации каждому квадрату было присвоено значение в диапазоне от 1 до 5, где каждое из значений означает следующее:
? 1 — уровень радиации в данной области приемлем и не повлияет на изношенность центрального процессора;
? 2 — уровень радиации в данной области выше нормы и увеличит изношенность процессора на 10 пунктов;
? 3 — уровень радиации в данной области выше нормы и увеличит изношенность процессора на 20 пунктов;
? 4 — уровень радиации в данной области выше нормы и увеличит изношенность процессора на 30 пунктов;
? 5 — уровень радиации в данной области выше нормы и увеличит изношенность процессора на 40 пунктов.
Раскопки проходили в области, соответствующей левой верхней клетке на этой карте. Изначальный уровень изношенности центрального процессора составляет 0 пунктов. Уровень радиации на месте раскопок и на базе соответствует 1 уровню, то есть никак не влияет на изношенность центрального процессора.
Вам, как оператору марсохода, необходимо провести «Феникс» так, чтобы изношенность процессора была как можно ниже после прибытия на базу. Если изношенность процессора достигнет 100 пунктов, марсоход больше не сможет отвечать на запросы оператора, что приведёт к провалу марсианской миссии.
Марсоход управляется с команд, которые записываются цифрами от 1 до 4. Каждая из этих цифр обозначает следующее:
? 1 — шагнуть вверх по вертикали на 1 клетку;
? 2 — шагнуть вниз по вертикали на 1 клетку;
? 3 — шагнуть вправо по горизонтали на 1 клетку;
? 4 — шагнуть влево по горизонтали на 1 клетку.
В случае, если марсоход получает команду, выводящую его за пределы карты, оператор теряет связь с ним, и миссия считается проваленной. Если марсоход не добрался до базы, то миссия также считается проваленной.
Вам необходимо через пробел записать последовательность команд (последовательность цифр из 1, 2, 3 или 4) для марсохода «Феникс», после выполнения которой он сможет добраться до базы.
Примечания
Например, пусть марсоход из клетки раскопок проходит последовательно через клетки со значениями 1, 2, 5, 3.
Тогда после прохода через клетку со значением 1, его уровень изношенности будет составлять 0 пунктов, после прохода через клетку со значением 2 — 10 пунктов, после прохода через клетку со значением 5 — 50 пунктов, после прохода через клетку со значением 3 — 70 пунктов.
Область рисования.
Объект Область рисования Graphics позволяет выбрать в качестве области рисования определенный элемент управления и обладает методами рисования графических фигур. Сначала необходимо в разделе объявления переменных определить имя объекта, например:
Dim Graph1 As Graphics
Затем в программном коде обработчика события необходимо указать определенный элемент управления в качестве области рисования. Обычно в качестве области рисования выбирается размещенное на форме графическое поле (например, PictureBox1):
Graph1 = Ме.PictureBox1.CreateGraphics ()
Перо.
Объект Перо Pen определяет цвет и ширину линии рисования. Сначала необходимо в разделе объявления переменных определить имя объекта (например, Pen1), установить цвет (например, красный Color.Red) и ширину линии в пикселях (например, 3):
Dim Pen1 As New Pen(Color.Red, 3)
Затем в программном коде обработчика события можно установить новые значения цвета и ширины линии, например:
Pen1.Color = Color.Green
Pen1.Width = 15
Кисть.
Объект Кисть Brush определяет цвет и стиль закрашивания прямоугольников, окружностей и других замкнутых фигур. Сначала необходимо в разделе объявления переменных определить имя объекта (например, Brush1) и установить тип закраски и цвет (например, сплошная закраска синего цвета SolidBrush (Color.Blue) ):
Dim Brush1 As New SolidBrush (Color.Blue )
Затем в программном коде обработчика события можно установить новый цвет закраски (например, пурпурный):
Brush1.Color = Color.Magenta
Графические методы.
Графические фигуры рисуются с использованием графических методов. Замкнутые фигуры, такие как прямоугольники или эллипсы, состоят из двух частей — контура и внутренней области. Контур рисуется с использованием заданного пера, а внутренняя область закрашивается с использованием заданной кисти.
Цвет.
Цвет устанавливается как значение свойства Color. Можно установить цвет с использованием нескольких десятков цветовых констант. Ниже приведены примеры установки зеленого цвета для объекта Pen1 и желтого цвета для объекта Brush1:
Pen1.Color = Color.Green
Brush1.Color = Color.Yellow
Для установки цвета в 24-битовой палитре цветов RGB используется метод Color.FromArgb (Red, Green, Blue), аргументами которого являются три числа в диапазоне от 0 до 255 (интенсивности красного, зеленого и синего цветов). Например, так можно установить пурпурный цвет для объекта Brush1:
Brush1.Color = Color.FromArgb(255, 0 , 255)
Рисование текста.
Метод DrawString () позволяет выводить текст в область рисования. Аргументами метода является Строка текста, Шрифт, Кисть и координаты начала строки. Объекты Шрифт (например, drawFont) и Кисть (например, drawBrush) необходимо объявить:
Dim drawFont As New Font («Arial», 16)
Dim drawBrush As New SolidBrush (Color.Black)
Рисование текста в поле рисования можно осуществить так:
Graphl1.DrawString («Текст», drawFont , drawBrush, 10, 10)
Системы координат.
Рисование линий, прямоугольников и других фигур производится в компьютерной системе координат, начало которой расположено в верхнем левом углу формы или элемента управления. Ось Х направлена вправо, а ось У — вниз. Единицей измерения по умолчанию является точка (пиксель). Компьютерная система координат графического поля шириной 300 точек и высотой 200 точек приведена на рисунке ниже.
При геометрических построениях и построении графиков функций удобнее использовать математическую систему координат, начало которой обычно находится в центре области рисования. Ось Х направлена вправо, а ось У — вверх. Математическая система координат графического поля шириной 300 точек и высотой 200 точек приведена ниже:
Для преобразования компьютерной системы координат в математическую систему координат используется метод масштабирования и поворота осей ScaleTransform () и метод сдвига начала координат TranslateTransform ().
Метод Graph1.ScaleTransform(1 , — 1) обеспечивает поворот оси У.
Метод Graph1.TranslateTransform(150 , -100) обеспечивает сдвиг по оси Х на 150 точек вправо и сдвиг по оси У на 100 точек вниз.
Анимация.
Для создания анимации (иллюзии движения на экране какого-либо объекта) применяется принцип смены кадров (изображений), как это делается в мультипликации. Для этого необходимо с определенной частотой рисовать объект в поле рисования, причем координаты объекта должны каждый раз изменяться на определенную величину.
i'm going to read a lot of books this year. я собираюсь прочесть много книг в этом году.
we hope you will solve all your problems soon. мы надеемся, что вскоре ты решишь все свои проблемы.
when everyone took their places my grandmother said "well, now listen to stories". когда все заняли свои места, моя бабушка сказала: "ну, теперь послушайте ".
i will try to answer all your questions. я постараюсь ответить на все твои вопросы.
we're going to discuss this buisness plan with our partners. мы собираемся обсудить этот бизнес-план с нашими партнёрами.