0 | | y <= 0 | | x> = N-2 | | y> = N-2) break;
a [x] [y]. stena = false;}
// переходимо на інший напрям = (c +1)% 4;}}
// випадково вибираємо кімнату, від якої будемо будувати шлях
A. x = 0; A. y = 0; (A. x == 0 && A. y == 0) (a [x = random (N)] [y = random (N)]. stena == false)
{A. x = x; A. y = y;};
// випадково вибираємо кімнату, до якої будемо будувати шлях
B. x = 0; B. y = 0; (B. x == 0 && B. y == 0) (a [x = random (N)] [y = random (N)]. stena == false)
{B. x = x; B. y = y;};
}
// функція відтворення лабірінтаDraw ()
{
// розміри сітки лабіринту по горизонталі і вертикалі
int n = buffer-> Height/N; m = buffer-> Width/N;
// зафарбовуємо намальоване до цього> Canvas-> Brush-> Color = clWhite;
buffer-> Canvas-> Pen-> Color = clWhite;> Canvas-> Rectangle (0,0, buffer-> Width, buffer-> Height);
// проходимо подвійним циклом по масиву кімнат
for (int i = 0; i
for (int j = 0; j
// якщо це стіна, то зафарбовуємо її чорним прямокутником
if (a [i] [j]. stena) {> Canvas-> Pen-> Color = clBlack;> Canvas-> Brush-> Color = clBlack;
buffer-> Canvas-> Rectangle (i * m, j * n, i * m + m, j * n + n);
} else {
// якщо це кімната, то залежно від режиму відображення малюємо по-різному (int inf = info) {
// виводимо повну інформацію:
case (0): {> Canvas-> Brush-> Color = clWhite;> Canvas-> Font-> Color = clRed;
// якщо це кімната входу, то зафарбовуємо її жовтим
if (i == A. x && j == A. y) {> Canvas-> Brush-> Color = clYellow;> Canvas-> Pen-> ; Color = clYellow,> Canvas-> Font-> Color = clBlack;
buffer-> Canvas-> Rectangle (i * m, j * n, i * m + m, j * n + n),}
// якщо це кімната виходу, то зафарбовуємо її блакитним
if (i == B. x && j == B. y) {> Canvas-> Brush-> Color = clSkyBlue;> Canvas-> Pen-> ; Color = clSkyBlue;> Canvas-> Font-> Color = clBlack;
buffer-> Canvas-> Rectangle (i * m, j * n, i * m + m, j * n + n);}
// виводимо у верхньому лівому кутку кількість монет, яке можна забрати в цій кімнаті
buffer-> Canvas-> TextOutA (i * m +1, j * n +1, IntToStr (a [i] [j]. sokrovihe));
// якщо через цю кімнату не веде шлях, то йдемо
if (a [i] [j]. number == 0) continue;
/...