Глава 43. Черепашья графика

Общие сведения
Черепаший язык
Язык LOGO и системы черепашьей графики
Постановка задачи
Идеи реализации
Выбор графических средств
Состояние черепахи
Класс Turtle
Класс RGBColor
Разработка
Класс Turtle
Готовая программа
Класс Turtle
Класс RGBColor

Эта глава не закончена

Черепаха понимает черепаший язык и может выполнять команды на этом языке. Язык черепах состоит из набора команд. Таким образом, текст на черепашьем языке можно рассматривать как программу, а черепаху — как исполнителя таких программ.

Черепаха находится на координатной плоскости и может передвигаться по ней только вперёд, но может также поворачиваться на месте. При движении черепаха способна чертить линию карандашом, или двигаться, не оставляя за собой след. Есть возможность заменять карандаши, и тем самым управлять толщиной линии и её цветом.

Вот перечень команд черепашьего языка (он не является исчерпывающим):

FORWARD длина

Сдвинуться вперёд на расстояние длина, оставляя за собой линию, если карандаш опущен.

ROTATE угол

Повернуться на угол относительно текущего курса черепахи.

LINEWIDTH толщина

Установить толщину линии.

COLOR цвет

Установить цвет карандаша.

GO x y

Перейти в точку с декартовыми координатами (x, y). Линия при этом не чертится независимо от того, поднят ли карандаш или нет.

DIRECTION угол

Задать направление черепахи. Угол отсчитывается от положительной полуоси абсцисс, и, естественно, против часовой стрелки.

SAVE

Сохранить состояние черепахи (её координаты, направление, цвет и толщину линии).

RESTORE

Восстановить состояние, в котором была черепаха непосредственно на момент последней команды SAVE. Команда не влияет на то, что было нарисовано перед её вызовом. Ни в какой момент количество вызовов команды RESTORE не должно превышать количество вызовов команды RESTORE.

KTurtle, представлен на рисунке 43.1. «Скриншот программы KTurtle».


Следует отметить ещё один хороший проект Scato, реализованный на языке Python. Он представляет из себя оконную систему программирования на одном из диалектов черепашьего языка с возможностью наблюдать за происходящим в отдельном графическом окне и сохранять изображения в формате PostScript.

Информатика-54© А. Н. Швец