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

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





"justify">// якщо ми не скасовували процес пошуку клавішею Escape

// то додаємо посилання на сусідні кімнати

if (! newprocess) {(! a [p. x-1] [p. y]. stena &&! IsVisited (p. x-1, p. y, obj)) (ob j, 0); (! a [p. x +1] [p. y]. stena &&! IsVisited (p. x +1, p. y, obj)) (obj, 1); (! a [p. x] [p. y-1]. stena &&! IsVisited (p. x, p. y-1, obj)) (obj, 2); (! a [p. x] [p. y +1]. stena &&! IsVisited (p. x, p. y +1, obj)) (obj, 3);

// і рекурсивно обробляємо сусідні кімнати (obj-> kids [0]! = NULL) (TPoint (p. x-1, p. y), obj-> kids [0] ); (obj-> kids [1]! = NULL) (TPoint (p. x +1, p. y), obj-> kids [1]); (obj-> kids [2]! = NULL) (TPoint (p. x, p. y-1), obj-> kids [2]); (obj-> kids [3]! = NULL) (TPoint (p. x, p. y + 1), obj-> kids [3]);

}

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

}

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

// при натисканні клавіші__fastcall TForm2 :: FormKeyPress (TObject * Sender, char & Key)

{

// якщо був натиснутий Пробіл, то міняємо режим виведення інформації

if (Key == VK_SPACE) = (info +1)% 3;

// якщо Escape, то встановлюємо змінну, яка достроково завершить роботу

// функції пошуку (Key == VK_ESCAPE) = true;

// при початковому режимі виведення інформації (info == 0) (process) = "Виробляється пошук шляху. (Вкл/відкл інформацію - Пробіл) "; =" Шлях знайдений (для зміни виду - Пробіл) ";

if (! info &&! process) = "Поточний шлях забирає монет:" + IntToStr (max)

+ "; через" + IntToStr (a [A. x] [A. y]. number) + "кімнат";

Draw ();

}

// якщо йде процес пошуку, то не можна виходити

// ---------------------------------------- ----------------------------------- __fastcall TForm2 :: FormCloseQuery (TObject * Sender, bool & CanClose)

{(process) CanClose = false;

}

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

// вихід з программи__fastcall TForm2 :: FormClose (TObject * Sender, TCloseAction & Action)

{> Terminate ();

}

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

// натискання кнопки миші__fastcall TForm2 :: FormClick (TObject * Sender)

{

// якщо процес пошуку вже запущений, то уведовляем і йдемо

if (process) {= "Йде пошук. Для зупинки натисніть Escape ";;}

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





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

  • Реферат на тему: Бізнес-план кав'ярні &Aroma-kids& з дитячою кімнатою
  • Реферат на тему: Прямий пошук без обмежень. Метод пошуку Хука-Дживса для функції Розенброка ...
  • Реферат на тему: Як враховувати рух грошей, якщо компанія розраховується через електронний г ...
  • Реферат на тему: Пошук найкоротшого шляху в лабіринті
  • Реферат на тему: Якщо ви викликаєте швидку допомогу