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

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





шуканої (obj! = NULL)

// і не збігаються з координатами попередньої кімнати, то повертаємо брехня

return (obj-> id. x == x && obj-> id. y == y) | | IsVisited (x, y, obj-> parent); return false;

}

// функція установки нового лістаleaf :: SetNewLeaf (leaf * obj, int n)

{

// виділяємо пам'ять> kids [n] = new leaf;

// призначаємо попередню кімнату в дереві відвідувань

obj-> kids [n] -> parent = obj;

}

// реверсивна функція розмітки путіleaf :: Tracing (leaf * obj, int n)

{(obj! = NULL) {

// відзначаємо кімнату номером n [obj-> id. x] [obj-> id. y]. number = n;

// і попередню кімнату номером n-1 (obj-> parent, n +1);}

}

// функція установки номерів всіх кімнат в 0

void InNul ()

{(int i = 0; i

}

// функція пошуку шляху в лабіринті

// в процесі створюється дерево з кімнат

void leaf :: GrowTree (TPoint p, leaf * obj)

{

// обробляємо системні повідомлення програми: натискання миші, клавіш> ProcessMessages ();

// якщо був переключений режим

// то міняємо заголовок (info == 1) -> Caption = "Обробляється кімната з координатами" + IntToStr (p. x) + "," + IntToStr (p. y) + ". "; (Info == 2) (max! = 0) -> Caption =" Поточний шлях забирає монет: "+ IntToStr (max)

+ "; через" + IntToStr (a [A. x] [A. y]. number) + "кімнат"; -> Caption = "Шлях ще не знайдено" ;

// записуємо сумарна кількість забраних монет (obj-> parent == NULL)

obj-> mone = a [p. x] [p. y]. sokrovihe;> mone = obj-> parent-> mone + a [p. x] [p. y]. sokrovihe;

// записуємо координати поточної кімнати

obj-> id = p;

// якщо поточна - це та, яку нам треба було знайти

if (p. x == B. x && p. y == B. y) {

// якщо ми ще не записували максимальну кількість монет

// або знайшли новий максимальний шлях (max == 0 | | obj-> mone> max) {

// записуємо кількість монет = obj-> mone;

// Обнуляємо всі кімнати ();

// записуємо шлях (obj, 1);

// отрісовиваємих ();

}

// видаляємо виділену пам'ять [] obj-> kids; obj;

// виходимо;

}


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





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

  • Реферат на тему: Автоматизація обліку колекційних монет
  • Реферат на тему: Розробка бази даних з колекціонуванню монет
  • Реферат на тему: Прикладне додаток &Розробка проекту для створення нового класу Auto і елеме ...
  • Реферат на тему: Найкоротший шлях через мережу
  • Реферат на тему: The Maple Leaf as the National Icon of Canada