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

Реферат Автоматизована система побудови лабіринту і пошуку виходу з нього





"> {[i, j, 1]=- 1;

}

} [xstart - 1, ystart - 1, 1]=0;// На вході в лабіринт довжина хвилі=0lastwave=- 1;// Номер поточної волниcou=1;// Кількість осередків, які накрила попередня волнаfound=false;// Хвиля дістала до виходу? (! Found amp; amp; (cou gt; 0))//поки хвиля не дійшла до виходу і поки попередня хвиля накрила хоч скільки-небудь осередків

{= 0;// Кількість осередків, які накрила хвиля

lastwave ++;// Номер поточної хвилі (i=0; i lt; xcells; i ++)

{(j=0; j lt; ycells; j ++)

{(lab [i, j, 1] == lastwave)//опрацюємо тільки осередки, які накрило попередньою хвилею

{

//якщо

//існує осередок звірку від поточної

//ніяка попередня хвиля її не накривати

//і в цій осередку не стіна

if ((j gt; 0) amp; amp; (lab [i, j - 1, 1] lt; 0) amp; amp; (lab [i, j - 1, 0] !=1))

{[i, j - 1, 1]=lastwave + 1;// Накриваємо цю клітинку наступною хвилею ++;// Кількість осередків, які накрила хвиля

//якщо накрита хвилею осередок це вихід, то включаємо ознака того, що хвиля досягла виходу

if (lab [i, j - 1, 0] == 3) found=true;

//на осередку напишемо номер хвилі, якій її накрило

/// gfr.DrawString (Convert.ToString (lastwave + 1), new Font ( Tahoma raquo ;, 8), Brushes.Gray, new Point ((int) i * sizecell + sizecell/3, (int) (j - 1) * sizecell + sizecell/3));

}

//якщо

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

//ніяка попередня хвиля її не накривати

//і в цій осередку не стіна

if ((j lt; ycells - 1) amp; amp; (lab [i, j + 1, 1] lt; 0) amp; amp; (lab [i, j + 1, 0]!=1))

{[i, j + 1, 1]=lastwave + 1;// Накриваємо цю клітинку наступною хвилею ++;// Кількість осередків, які накрила хвиля

//якщо накрита хвилею осередок це вихід, то включаємо ознака того, що хвиля досягла виходу

if (lab [i, j + 1, 0] == 3) found=true;

//на осередку напишемо номер вілни, якій її накрило

/// gfr.DrawString (Convert.ToString (lastwave + 1), new Font ( Tahoma raquo ;, 8), Brushes.Gray, new Point ((int) i * sizecell + sizecell/3, (int) (j + 1) * sizecell + sizecell/3));

}

//якщо

//існує осередок зліва від поточної

//ніяка попередня хвиля її не накривати

//і в цій осередку не стіна

if ((i gt; 0) amp; amp; (lab [i - 1, j, 1] lt; 0) amp; amp; (lab [i - 1, j, 0] !=1))

{[i - 1, j, 1]=lastwave + 1;// Накриваємо цю клітинку наступною хвилею ++;// Кількість осередків, які накрила хвиля

//якщо накрита хвилею осередок це вихід, то включаємо ознака того, що хвиля досягла виходу

if (lab [i - 1, j, 0] == 3) found=true;

//на осередку напишемо номер хвилі, якій її накрило

/// gfr.DrawString (Convert.ToString (lastwave + 1), new Font ( Tahoma raquo ;, 8), Brushes.Gray, new Point ((int) (i - 1) * sizecell + sizecell/3, (int) j * sizecell + sizecell/3));

}

//якщо

//існує осередок праворуч від поточної

//ніяка попередня хвиля її не накривати

//і в цій осередку не стіна

if ((i lt; xcells - 1) amp; amp; (lab [i + 1, j, 1] lt; 0) amp; amp; (lab [i + 1, j, 0]!=1))

{[i + 1, j, 1]=lastwave + 1;// Накриваємо цю клітинку наступною хвилею ++;// Кількість осередків, які накрила хвиля

//якщо накрита хвилею осередок це вихід, то включаємо ознака того, що хвиля досягла виходу

if (lab [i + 1, j, 0] == 3) found=true;

//на осередку напишемо номер хвилі, якій її накрило

/// gfr.DrawString (Convert.ToString (lastwave + 1), new Font ( Tahoma raquo ;, 8), Brushes.Gray, new Point ((int) (i + 1) * sizecell + sizecell/3, (int) j * sizecell + sizecell/3));

}

}

}

}

/// pictureBox1.Refresh ();// Обновити зображення pictureBox1 на формі

/// Thread.Sleep (100);// Зробимо паузу на вказану кількість мілісекунд

} (! found)//не найден вихід - ніяка воолна не накр...


Назад | сторінка 15 з 18 | Наступна сторінка





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

  • Реферат на тему: Ударна хвиля
  • Реферат на тему: Ударна хвиля і детонація
  • Реферат на тему: Плоска електромагнітна хвиля
  • Реферат на тему: Плоска електромагнітна хвиля
  • Реферат на тему: Хвиля H01 в круглому хвилеводі. Застосування її в телекомунікації