Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Контрольные работы » Лабіринт. Генерація та пошук найкоротшого шляху

Реферат Лабіринт. Генерація та пошук найкоротшого шляху





а умови виконані, позначаємо сусіднє локацію двійкою.

Друга ітерація алгоритму виглядає так:

знайти в лабіринті локації, помічені двійками;

для кожної з чотирьох сусідніх з нею локацій перевірити ті ж умови;

якщо обидва умови виконані, позначаємо сусідню локацію трійкою і так далі.

2) задати лабіринт масивом:

Якщо на перетині i-го рядка і j-ого стовпця стіна, то елемент масиву з індексами i та j має значення 0, в іншому випадку 1. p align="justify"> Для генерації лабіринту був створений початковий масив a, що складається з цілих чисел:


0

0

... 0

0

0

... 0



Далі генератором випадкових чисел вибирається певне число непарних локацій в кожному парному ряду (крім останнього) і їм присвоюється значення 1, в кожному непарному ряду (крім першого і останнього) певному числу парних локацій присвоюється значення 0. Далі користувачем вводяться координати точки входу в лабіринт і точки виходу з нього. Елементу масиву, прийнятому за точку входу присвоюється значення 3. Якщо сусідні з ним локації порожні (тобто мають значення 1), то їм присвоюється значення 3 +1 = 4. Далі в Лабіринті шукаються всі елементи, що мають значення 4 і з ними проводиться та ж процедура. p align="justify"> Виглядати це буде приблизно так:

0000000






Перемінної d присвоїмо значення елемента масиву, прийнятого за точку виходу, після кількох циклів вищевказаних операцій, а потім призначимо йому значення 2. Далі перевіряються всі сусідні з ним елементи. Якщо їх значення дорівнює d-1, то таким елементам присвоюється значення 2, а значення змінної d зменшуємо на 1. Проробляємо цю операцію з усіма елементами масиву, рівними 2, якщо це можливо. p align="justify"> Потім, для виведення результату на екран вводиться масив символів b, такий же розмірності як масив a. Якщо елемента a [i, j] = 0, то відповідному елементу масиву b присвоюється символ 0 , якщо a [i, j] = 2, то b [i, j]: = * якщо a [i, j] не дорівнює 0 або 2, то b [ i, j]: = . Отриманий масив виводиться на екран.

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


Назад | сторінка 2 з 4 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Судовий порядок, умови встановлення фактів, що мають юридичне значення
  • Реферат на тему: Види податкових пільг: їх значення та умови надання
  • Реферат на тему: Якщо ви викликаєте швидку допомогу
  • Реферат на тему: Якщо ремонт виявився модернізацією
  • Реферат на тему: Якщо ваш працівник затриманий чи засуджений