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

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





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;

/...


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





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

  • Реферат на тему: Як враховувати рух грошей, якщо компанія розраховується через електронний г ...
  • Реферат на тему: Якщо ви викликаєте швидку допомогу
  • Реферат на тему: Якщо лікарняний невірно розрахований
  • Реферат на тему: Якщо ремонт виявився модернізацією
  • Реферат на тему: Якщо ваш працівник затриманий чи засуджений