Используя ООП, разработать программу, выполняющую следующие функции:
- На экран выводятся несколько геометрических фигур
- Пользователь может наводить на фигуры указателем мыши и нажимать ЛКМ
- Если при нажатии ЛКМ (левой кнопки мыши) указатель находится вблизи центра
какой-либо фигуры, эта фигура по-своему реагирует на нажатие (ниже подробнее)
При запуске программа сразу рисует фигуры на поле, пользователь работает мышкой,
любая фигура должна реагировать на нажатие НЕ один раз, выход из программы - по
нажатию любой/определённой клавиши.
Иерархия фигур должна содержать как минимум следующие объекты (поля | методы):
-- Геометрическая Фигура (Х центра, Y центра, Цвет | Рисовать) *
| *
| *
|-- Эллипс (R1, R2 | Реагироватьнанажатие) *
| | *
| | *
| |-- Круг ( | ) *
| *
| *
|-- Равностороннийтреугольник (Угол_поворота, R | Реагировать_нанажатие) *
| *
| *
|-- Прямоугольник (a, b | Реагироватьнанажатие) *
| *
| *
|-- Квадрат ( | ) *
*
Пояснения:
Эллипс.Реагироватьнанажатие : увеличивается один из радиусов (фигуры растягивается)
Круг.Реагироватьнанажатие : круг уменьшается в размере
Равностороннийтреугольник.Реагировать_нанажатие : треугольник поворачивается
Прямоугольник.Реагироватьнанажатие : фигура заливается другим цветом
Квадрат.Реагироватьнанажатие : фигура становится невидимой (цветом фона)
Равностороннийтреугольник.Уголповорота - указывает, на сколько градусов повёрнута первая вершина относительно 90 градусов (12 часов)
Равносторонний_треугольник.R - указывает радиус окружности, в которую вписан данный треугольник