Необходимо разработать программу, которая строит двумерную сцену с заданными объектами и позволяет выполнять некоторые действия над ними.
Входные данные:
Текстовый файл с описанием 2D сцены, которую необходимо создать. Пример:
10 10 1000 1000
1 create point 1 2
2 create rect 1 2 3 4
3 create hline 10 10 20
5 create vline 30 30 40
1 delete
2 move 10 10
1) Первая цифра - это идентификатор объекта над которым производится действие (id объекта в системе)
2) Второе слово - это идентификатор действия, которое необходимо совершить над данным объектом. Всего 3 команды - create (создать объект), delete (удалить объект), move (переместить объект)
Логика работы: Необходимо последовательно выполнить команды, описанные в полученном на вход файле, получить конечную сцену и отрисовать ее в BMP файле.
Расшифровка команд в примере входного файла:
x1 y1 x2 y2
- прямоугольник пользовательских координат (в каком окне возможна отрисовка)1 create point x y
- создать точку с идентификатором объекта 1
, в координатах (x, y)
2 create rect x1 y1 x2 y2
- создать прямоугольник с идентификатором '2', заданный точками (x1, y1)
и (x2, y2)
3 create hline x1 x2 y
- создать горизонтальную линию с идентификатором 3
, заданную точками (x1, y)
и (x2, y)
5 create vline y1 y2 x
- создать вертикальную линию, с идентификатором 5
, заданную точками (x, y1)
и (x, y2)
1 delete
- удалить объект с идентификатором 1
2 move dx dy
- переместить объект с идентификатором 2
на dx
по x
и на dy
по y
Вывод: