/Maze

Primary LanguageC#

Лабиринт

Это курсовой проект, демонстрирующий навыки работы с графикой и ООП.

Задание

Необходимо разработать программу, в которой генерируются лабиринты (простой вариант: вручную, сложный вариант: рандомно). Ваша задача найти правильный путь и угадать куда он приведет.

Требования

Должны быть реализованы:

  • «Дружественный» графический интерфейс программы. Интуитивно-понятное управление
  • Пользователь должен видеть изначальную точку и варианты, куда может привести лабиринт
  • Дать возможность пользователю производить выбор и выдавать результат (ошибся ли пользователь, или показал правильный путь)
  • Меню “О программе“, содержащее вкладку “Справка“, “О разработчике“

Используемые в работе паттерны

  • Factory/Фабрика
  • Flyweight/Легковес

Используемые в работе алгоритмы

  • Алгоритм «Олдоса-Бродера» используется для генерации лабиринта
  • Алгоритм поиска в глубину(DFS) используется для поиска решения лабиринта

Руководство пользователя

Окно программы содержит 2D сцену, которая представляет из себя модель лабиринта, синим цветом помечен курсор в лабиринте. Перемещение курсора лабиринта выполняется через кнопки WASD, где движение верх – W, влево – A, вниз – S, вправо – D. Белым цветом помечена ячейка, являющаяся выходом из лабиринта.