![]() |
Рисуем более сложные фигурыDate: 2015-10-07; view: 812. Изменение цвета Черепашка рисует фигуры в точно таком же Графическом Окне, какое мы видели в предыдущей главе. Это означает, что все операции, изученные в предыдущей главе, актуальны и здесь. Например, следующая программа нарисует квадрат со сторонами разных цветов. For i = 1 To 4 GraphicsWindow.PenColor = GraphicsWindow.GetRandomColor() Turtle.Move(100) Turtle.TurnRight() EndFor Рисунок 40 – Изменение цвета Черепашка, в дополнении к операциям TurnRight (ПоворотНаправо) и TurnLeft(ПоворотНалево), также выполняет операцию Turn (Поворот). Для выполнения этой операции требуется передать данные, обозначающих угол поворота черепашки. С помощью этой операции можно нарисовать многоугольник с любым количеством сторон. Следующая программа нарисует шестиугольник. For i = 1 To 6 Turtle.Move(100) Turtle.Turn(60) EndFor Запустите эту программу и посмотрите, действительно ли в итоге получится шестиугольник. Заметьте, что если угол между сторонами равен 60 градусам, то мы применяем операцию Turn(60). Для многоугольника, чьи стороны равны, можно легко узнать, чему равен угол между ними, разделив 360 на количество сторон. Пользуясь этой информацией и переменными, мы с легкостью можем написать стандартную программу, которая подойдет для рисования многоугольника с любым количеством сторон. sides = 12
length = 400 / sides angle = 360 / sides
For i = 1 To sides Turtle.Move(length) Turtle.Turn(angle) EndFor С помощью этой программы можно нарисовать любой многоугольник, всего лишь изменяя значение переменной sides. Введя значение 4, в результате выполнения программы мы получим Квадрат, такой же получился вначале. Введя достаточно большое значение переменной, например 50, мы получим многоугольник, мало отличающийся по внешнему виду от круга. Рисунок 41 – Рисуем многоугольник с 12 сторонами Используя тот же принцип, что мы применили сейчас, можно заставить Черепашку нарисовать множество кругов, каждый с небольшим сдвигом. Результат получится интересным. sides = 50 length = 400 / sides angle = 360 / sides
Turtle.Speed = 9
For j = 1 To 20 For i = 1 To sides Turtle.Move(length) Turtle.Turn(angle) EndFor Turtle.Turn(18) EndFor
Рисунок 42 – Рисование кругов
|