Игровое окружение "Черепаха"
Конечное поле (-1000 <= X, Y <= 1000) с вещественными координатами.
В начальный момент времени Черепаха находится в точке с координатами (0; 0),
пузо опущено, угол с осью OX равен 0 градусов.
Поле чистое.
Черепаха:
- находится в одной точке в каждый определенный момент времени;
- повернута к оси OX на вещественное число градусов;
- может двигаться вперед на заданное число единиц (в том числе и отрицательных);
- двигаясь может оставлять след за собой, если пузо (перо) опущено.
Команды Черепахи:
- left(x) - повернуть против часовой стрелки на x градусов;
- right(x) - повернуть по часовой стрелке на x градусов;
- forward(x) - пройти x единиц вперед в текущем направлении;
- set_pen_color(rgb), set_pen_color(r, g, b) - изменить цвет следа на rgb;
- get_pen_color() - получить текущий цвет следа в нотации rgb;
- pen_up() - поднять пузо (перо), при движении не остается следа;
- pen_down() - опустить пузо (перо), при движении остается след;
- is_pen_down() - проверить опущено ли пузо (перо);
- draw_plot() - нарисовать точку текущим цветом следа;
- draw_text(t) - написать текст t текущим цветом следа;
- get_x() - получить текущую X координату черепахи;
- get_y() - получить текущую Y координату черепахи;
- get_angle() - получить текущий угол между направлением черепахи и осью OX;
- draw_picture(f) - нарисовать рисунок из файла f [не реализовано].
Цель:
- нарисовать заданный рисунок передвигая по полю и поворачивая черепаху
Требования к ИО:
- движения анимированные;
- ИО должна позволять изменять скорость анимации;
- прокрутка видимой области;
- прорисовка со сглаживанием;
- возможность инициализации из xml [не реализовано];
- возможность сохранять состояние в xml [не реализовано];
- возможность устанавливать цвет фона;
- возможность изменять размеры окна ИО;
- возможность очищать окно ИО.