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

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





p align="justify"> У програмі передбачена можливість збереження лабіринту у файл і завантаження лабіринту з файлу. Знайти ці функції можна в пункті меню Файл raquo ;, зазначеному на малюнку А.7.




Малюнок А.7 - Пункт меню «Файл»


При завантаженні пошкодженого файлу з'являється попереджувальне вікно, зображене на малюнку А.8. Пропонується вибрати інший файл.


Малюнок А.8 - Помилка завантаження файлу


А.4.7 Довідкова інформація про систему

При виборі з пункту меню «Довідка» пункт «Відомості про систему» ??відкривається довідкове вікно, що містить інформацію про авторів та документацію. Дане вікно зображено на малюнку А.9.



Малюнок А.9 - Довідка про систему


При переході по посиланнях «Створення», «Пошук шляху», «Зберігання» можна отримати відповідну довідкову інформацію.



Додаток Б


Лістинг програми

//основний клас Лабіринт

using System;System.Collections.Generic;System.Linq;System.Text;System.Data;System.Drawing;System.Windows.Forms;System.Diagnostics;System.Threading;System.IO;labirint

{labirint

{int [,,] lab=new int [100, 100, 3];// Лабіринт: [i, j, 0] - осередки лабіринту, [i, j, 1] - для хвильового методу - довжина хвилі, для однорукого методу - шлях персонажа

public int [,] path=new int [10000, 2];// Зворотний шлях для хвильового методаint countpath=0;// Кількість кроків в дорозі хвильового методаint xcells;// Осередків по горізонталіint ycells;// Осередків по вертікаліint xstart;// Координати стартової позіцііint ystart;// Координати стартової позіцііint xstop;// Координати кінцевої позіцііint ystop;// Координати кінцевої позіцііint tx;// Поточне положення при однорукого методеint ty;// Поточне положення при однорукого методеint way;// Напрямок руху при однорукого методеint len;// Поточна довжина шляху при однорукого методеint vert_rating=50;// Ймовірність у% створення вертикальної стінки в алгоритмі Ейлераint hor_rating=50;// Ймовірність у% створення горизонтальної стінки в алгоритмі Ейлераint state;// Поточний стан лабіринту:

//0 - порожній, 1 - створений шаблон, 2 - розставлений вхід, 3 - розставлені вхід/вихід, 4 - згенерований лабіринт

//5 - виконується пошук шляху хвильовим методом, 6 - шлях знайдений хвильовим методом

//7 - виконується пошук шляху одноруким методом, 8 - шлях знайдений одноруким методом

//0 - порожній, 1 - створений шаблон, 2 - розставлені вхід/вихід, 3 - згенерований лабіринт

//генерація лабіринту алгоритмом Ейлера

//Переваги алгоритму Ейлера:

//1. відсутні зациклення (мається тільки один шлях між двома точками)

//2. відсутні ізольовані області

//3. З будь-якої точки лабіринту в будь-яку іншу точку завжди існує шлях

//3. дуже швидкий

//4. використовує пам'ять ефективніше, ніж інші популярні алгоритми

public void generate_eiler ()

{rnd=new Random (); i, j, k, xx, yy, x1, tt, cn, tmn;

int mn=0;

//очистимо всі осередки лабіринту

for (i=1; i lt; xcells - 1; i ++)

{(j=1; j lt; ycells - 1; j ++)

{[i, j, 0]=0;

}

}

//пройдемо по рядках

for (j=0; j lt; (ycells - 1)/2; j ++)

{= j * 2 + 1;

//привласнимо осередкам, що не входять ні в яке безліч, своє унікальне безліч

for (i=0; i lt; (xcells - 1)/2; i ++)

{= i * 2 + 1; (lab [xx, yy, 0] == 0)

{[xx, yy, 0]=++ mn;

}

}

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

for (i=0; i lt; (xcells - 1)/2; i ++)

{= i * 2 + 1; (lab [xx, yy, 0] == lab [xx + 2, yy, 0])//поточна комірка і осередок праворуч належать одному безлічі

{[xx + 1, yy, 0]=1;// Поставимо межу між ними [xx + 1, yy + 1, 0]=1;

}

{

//вирішимо створювати праву межу між осередками чи ні

tt=rnd.Next (0, 100); (tt gt; vert_rating)//не створимо кордон

{[xx + 1, yy, 0]=0; [xx + 2, yy,...


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





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

  • Реферат на тему: Символіка лабіринту у філософському трактаті Я.А. Коменського "Лабіри ...
  • Реферат на тему: Лабіринт. Генерація та пошук найкоротшого шляху
  • Реферат на тему: Створення 3D-моделі лабіринту з вертикальними стінами
  • Реферат на тему: Створення інформаційної системи Dentist control system
  • Реферат на тему: Constitutional justice is in the Ukrainian system of state rule