Я создаю лабиринт, используя рандомизированную версию Крускала. Логика программы для создания лабиринта не является проблемой для меня. У меня проблемы с выяснением, как бы я на самом деле шел к физическому отображению рисунка лабиринта.
Насколько я понимаю, начальный лабиринт начинался бы как сетка H by W, где каждая клетка имеет все свои «границы» / стены. Мой единственный опыт рисования на C ++ — это просто печатать символы в терминале, чтобы представлять разные фигуры. Однако он не подходит для более сложных рисунков, таких как ячейка определенной ширины и высоты, окруженная четырьмя гораздо более тонкими черными линиями. Я полагаю, что я мог бы окружить каждого персонажа ячейки 8 символами стены, но это кажется довольно громоздким и не очень элегантным (стены выглядели бы громоздкими / не тонкими).
Я видел несколько потрясающих скриншотов на SO, которые люди делали из своего сгенерированного лабиринта, где они могли легко рисовать тонкие стены, окружающие клетки. Я никогда не использовал библиотеку графиков / рисунков в C ++, и после нескольких часов поиска я все еще совершенно потерян.
Для тех алгоритмических фанатиков, какие простейшие фреймворки для рисования простых сеток / лабиринтов в C ++?
Без специальной библиотеки для отображения изображений вы не сможете фактически показать свое изображение. OpenCV имеет фантастический набор инструментов для генерации, редактирования и отображения изображений. Есть огромное количество учебные пособия от пошаговой установки вашей системы до выполнения любых действий с OpenCV.
Достаточно простой метод, независимо от того, какие библиотеки вы используете
В итоге вы получите двухцветное изображение со стенами, цветом фона и контуром цвета переднего плана.
К сожалению, я не могу быть более конкретным без примеров кода или выбора библиотек, которые вы хотели бы использовать. OpenCV широко используется и так широко поддерживается, поэтому я рекомендую это.
Других решений пока нет …