Розробка програмної моделі проходження лабіринтів



бет6/8
Дата02.01.2022
өлшемі215.73 Kb.
#454212
1   2   3   4   5   6   7   8
Курсовий проект Левковець Д О

Взаємодія об’єктів

Враховуючи, що в мене всього лиш один головний клас, а другий похідний, то в основному усю функціональність відтворює саме похідний клас, а головний лишень надає доступ до своїх приватних змінних, та створює віртуальну функцію, тому уся алгоритмізація покладена на функції класа Area, та його функції Generate i Passage, що генерують та шукають шлях від лабіринту.

Для того, щоб генерувався лабіринт, ми створюємо перший рядок лабіринту. Ні одна комірка не буде належати якій-небудь множина. Присвоюючи кожній комірці, котра не входить ні в одну множину, свою унікальну множину. Створюючи праві стіни для комірок, пересуваючись зліва направо. Також створюємо нижні стіни, рухаючись зліва направо і вирішуємо, продовжувати додавати рядки, чи зупинитися і завершити лабіринт [9].

Для пошуку шляху шляху, задаємо початкову позицію і направлення, потім запам’ятовуємо координати даної комірки, враховуючи порядок відвідуваності комірки. «Гравець» повертається на 90 градусів, проти годинникової стрілки, згодом перевіряє комірку, котра знаходиться перед ним. Потім переходить на нову вільну комірку, та далі по історії усіх відвіданих раніше комірок, перевіряємо в новій комірці, чи ні. Та вже вкінці перевіряємо, чи є дана точка виходом, чи ні [9].




    1. Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет