Написать программу с GUI интерфейсом, которая выполнит поиск и отображение пути от точки A до точки B, выбранные пользователем.
Поле, в котором выполняется поиск пути представляет собой прямоугольник разделенный на "квадраты". Ширина и высота поля задается пользователем (в "квадратах").
Каждый "квадрат" может быть либо доступным для движения, либо занят стеной. Задача состоит в поиске пути от точки A до точки B с обходом препятствий (смотри рисунок).
- По нажатию кнопки "Generate" должно создаваться поле и случайным образом заполняться препятствиями.
- Использовать поиск в глубину или поиск в ширину.
- Клик по "квадрату" - установка точки A или B.
- Для отрисовки поля использовать
QGraphicsScene
. - Масштабирование поля (например, колесом мыши. Событие
WheelEvent
). - Создать конфигурационный файл с местоположением главного окна (использовать
QSettings
). - Приложение должно проверять введённые пользователем данные.
- При возникновении ошибок должно появляться окно с сообщением (использовать
QMessageBox
).
- Реализовать поиск пути в отдельном потоке.
- Отображение пути от точки A до любой точки в момент наведения на нее курсора (событие
MouseMove
).
- Qt 5.15.2, MinGW 8.1.0
- Qt 6.5.0, MinGW 11.2.0