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

Реферат Пошук шляху в лабіринті





для знаходження путіleaf {

// точка, її координати - це номер кімнати

// по горизонталі і вертікаліid;

// скільки грошей накопичується до цієї комнатиmone;

// покажчик на попередню кімнату * parent;

// покажчики на сусідні кімнати ** kids;

// конструктор вузла () {

// виділяється пам'ять для сусідніх кімнат = new leaf * [4];

for (int i = 0; i <4; i + +) [i] = NULL;

} IsVisited (int x, int y, leaf * obj); SetNewLeaf (leaf * obj, int n); Tracing (leaf * obj, int n); GrowTree (TPoint p, leaf * obj );

};

// розмірність лабірінтаint N = 15;

// масив з комнатa [N] [N];

// максимальне значення накопичених сокровіщmax = 0;

// режим відображення інформацііinfo = 0;

// покажчик на корінь пошукового дерева * root = NULL;

// точки - координати кімнат входу і виходаA, B;

// чи був запущений процес пошуку путіprocess = false;

// чи був перерваний процес пошуку путіnewprocess = false;

// графічний буфер для відтворення лабіринту

Graphics :: TBitmap * buffer = new (Graphics :: TBitmap);

// ---------------------------------------- -----------------------------------

__fastcall TForm2 :: TForm2 (TComponent * Owner)

: TForm (Owner)

{

}

// ---------------------------------------- -----------------------------------

// функція створення лабірінтаCreateLabirint ()

{

// створюємо скрізь стіни (int i = 0; i <= N; i + +) (int j = 0; j <= N; j + +) {[i] [j]. stena = true; [i] [j]. sokrovihe = random (99) +1; [i] [j]. number = 0;}

// поточна кімната і напрям двіженіяx, y, c;

// робимо N/2 циклів створення коридорів (int i = 0; i <= N/2; i + +) {

// вибираємо випадкову кімнату всередині лабіринту = random (N-2) +1; = random (N-2) +1;

// вибираємо випадкове напрям руху = random (4);

// вибираємо випадкове кількість поворотів коридору

for (int d = random (3) +2; d> = 0; d -) {

// вибираємо випадкове кількість кімнат до повороту

for (int k = random (3) +2; k> = 0; k -) {(c) {

// переходимо в одну з чотирьох сторін

case 0: x + +; break; 1: y + +; break; 2: x -; break; 3: y -; break;}

// самі крайні комнатами не робимо (x <= ...


Назад | сторінка 7 з 12 | Наступна сторінка





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

  • Реферат на тему: Пошук найкоротшого шляху в лабіринті
  • Реферат на тему: Казковий дизайн дитячої кімнати
  • Реферат на тему: Варіанти оформлення дитячої кімнати
  • Реферат на тему: Створення інтер'єру кімнати студента
  • Реферат на тему: Підготовка дитячої кімнати до народження дитини