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

Реферат Комп'ютерна гра &п'ятнашки&





ані між кожною кісточкою і її позицією в зібраної головоломці. Для вирішення використовуються алгоритми зразок алгоритму A *.

нерозв'язані комбінація, запропонована Ноєм Чепменом - малюнок 1.


Малюнок - 1


Можна показати, що рівно половину з усіх можливих 1 307 674 368 000 (= 15!) початкових положень пятнашек неможливо привести до зібраного увазі: нехай квадратик з числом i розташований до (якщо вважати зліва направо і зверху вниз) k квадратиків з числами меншими i. Будемо вважати ni=k, тобто якщо після кісточки з i-м числом немає чисел, менших i, то k=0. Також введемо число e - номер ряду порожньої клітки (рахуючи з 1).

Якщо сума


є непарної, то вирішення головоломки не існує.

Для узагальнених пятнашек (з бо? льшим, ніж 15, кількістю кісточок) задача пошуку найкоротшого рішення є NP-повною.

Якщо допустити поворот коробки на 90 градусів, при якому зображення цифр виявляться лежачими на боці, то можна перевести нерозв'язні комбінації в розв'язні (і навпаки). Таким чином, якщо замість цифр на кісточки нанести точки і не фіксувати положення коробки, то нерозв'язних комбінацій взагалі не виявиться.



2. Функціональне опис


У курсовій роботі використовуються основні можливості мови в роботі зі структурами, файлами, графікою.

В даній грі передбачалося створення:

1) інтуїтивно зрозумілого інтерфейсу;

) скромного, але графічно точного табло, де здійснюється переміщення цифр;

) зручного для користувача управління.

алгоритм комбінація гра число


Висновок


У ході виконання курсового проекту розроблена програма, що реалізує гру «п'ятнашки».

Зовнішній вигляд вікна програми представлений в додатку А, вихідний текст програми представлений у додатку Б.



Список використаних джерел


1. «Delphi. Програмування на мові високого рівня »Фаронов В.В., СПб .: Питер, 2011 - 640с .: ил. [Текст]

2. «Біблія Delphi - 2-е видання» Фленов М., С.-Пб, БХВ-Петербург, 2008р. [Текст]



Додаток А


Основне вікно програми на малюнку 2. Вікно з закінченням гри на малюнку 3.


Малюнок 2 - основне вікно


Малюнок 3 - перемога


Додаток Б


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


, Messages, SysUtils, Classes, Graphics, Controls, Forms ,, StdCtrls, Menus, XPMan, ExtCtrls;

=class (TForm): TMainMenu ;: TMenuItem ;: TMenuItem ;: TTimer ;: TLabel; FormCreate (Sender: TObject); FormShow (Sender: TObject); N1Click (Sender: TObject); N2Click (Sender: TObject); tmr1Timer (Sender: TObject); ButClicked (Sender: TObject); CreatFishkas (); KillOldFihkas (); position (const x, y: integer): integer; victopia ();

{Private declarations}

{Public declarations};

Tfish=TButton;// Вказуємо тип фішок

=80;// Ширина фішки=10;// Відстань між фішками=D + W;// Відстань між х у фішок=3;// Розмір поля 4х4=1; M=9;// Розмірність масиву фішок=10; POLEL=10;// початкові позиції поля фішок на формі= Fishka raquo ;;

: TForm1 ;: array [N..M] of Tfish ;: array [N..M] of boolean ;, zeroY: integer ;: array [1..M, 1..2 ] of integer;: TDateTime;


{$ R * .dfm}


//розмір форми

FormSize; .Width:=(POLEL * 2) + (L * NXM) ;. Height:=(L * NXM) + POLET + 90; .Lbl1.Left:=Round (Form1. Width/2) - 35; .Lbl1.Top:=Form1.Height - 90 ;;

TForm1.FormCreate (Sender: TObject); i, ty, lx: integer;:=time ;; i:=0;

//заповнюємо масив координатами на які будуть випадковим чином ставитися

//фішки при початку нової гри:=POLET; lx:=POLEL; i:=N to M do begin [i, 1]:=lx; [i, 2]:=ty;:=lx + L; i mod NXM=0 then begin:=ty + L; :=POLEL ;;; () ;;

TForm1.FormShow (Sender: TObject); () ;;


//клік по пункту меню - нова гра

TForm1.N1Click (Sender: TObject); ();

(); ();:=time ;;


{скидає всі елементи масиву в true,

масив відповідає за неповторювані порядкові номери фішок

які вибираються випадковим чином

Назад | сторінка 3 з 4 | Наступна сторінка





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

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