для знаходження путі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 <= ...