Реферати українською » Информатика, программирование » Написання програми "Відгадайка"


Реферат Написання програми "Відгадайка"

Страница 1 из 2 | Следующая страница

Дані на роботу:

Курсова робота

Назва дисципліни:Алгоритмические мови і програмування

Тема: Написання програми ">Угадайка"


Зміст

Запровадження

1. Розробка програми

1.1 Технічні характеристики

1.2 Вибір складу технічних і програмних засобів

2. Розробка робочого проекту

2.1 Розробка програми

2.2Спецификация програми

2.3 Опис програми

2.4 Тестування програми

3. Впровадження

Укладання

>Глоссарий

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

Додатка


Запровадження

 

Завдання курсову роботу з дисципліни: «>Алгоритмические мови і програмування».

Тема: Розробка ігрового докладання для ОС Microsoft Windows.

Умова завдання: Написати програму «>Угадайка». Комп'ютер випадково загадує число від 1 до 100. Завдання користувача – за мінімум спроб, але з понад шість, вгадати їх кількість, пропонуючи комп'ютера свої варіанти, у відповідь які програма вказує рахунок спроби і повідомлення у тому, більше загадане число меншевведенного з клавіатури. За правильної стратегії (розподіл інтервалу чисел навпіл) напевно вгадати число можна протягом семи спроб. Гра складається з п'ятьох партій. Після останньої партії виводяться результати.

Призначення програми: гра.

Область застосування: ПК, який під управлінням ОС Microsoft Windows (версії9x/2k/XP і більше пізніх).


1. Розробка програми

 

1.1 Технічні характеристики

За умовою завдання, необхідно розробити додаток для ОС Microsoft Windows – гру. За правилами гри, комп'ютер буде загадувати число, а користувачеві потрібно буде за обмежену кількість спроб (6 спроб) його вгадати.

>Числа користувач має або вводити з клавіатури, або збільшувати чи зменшувати значення вересня полі введення стрілками. Після кожної спроби користувачеві необхідно повідомити: більше загадане число менше те, що він і запровадив.

Якщо за 6 спроб користувачеві вдається вгадати число, гра завершується. Якщо не булоотгадано, гра також завершується, а користувачеві повідомляється загаданечисло.[1]

Для перевірки чесності буде використано алгоритм шифруванняMD5. Механізм його роботи ось у чому: після генерації випадкового числа, яке користувачеві потрібно буде відгадати у процесі гри, генерується і текстова рядок, якими можна буде явно визначити яка кількість булозагадано (наприклад, «__>загадано__:_число___99»).

Ця рядок є вихідної, а їїmd5-хеш (послідовністю 32шестнадцатеричних чисел) буде повідомлятися користувачеві на початок гри. Цейхеш практично неможливо розшифрувати (отримати гроші з нього вихідну рядок), що запобігає можливість отриманнязагаданного числа іншими методами, крім угадування його, проте до перевірки чесності користувачеві досить особисто отримати гроші з вихідної рядкиmd5-хеш (при цьому є безліч невеликих програм, зокрема івеб-приложений).[2]

Для ведення «бази» досягнень гравця (чи гравців) у програмі буде реалізовано функція додавання кращих успіхів у текстовий файл із можливістю перегляду в будь-якевремя.[3]

У файлі зберігатимуться: ім'я гравця (вводиться користувачем у разі успішної гри), результат (кількість спроб, які булоотгадано число), і навіть дата та палестинці час завершення гри.

1.2 Вибір складу технічних і програмних засобів

Оскільки, відповідно до умові завдання, необхідно розробити додаток для ОС Microsoft Windows, для написання програми було обрано інтегрована середовище розробкиBorland Delphi версії 7, що дозволяє досить швидко створювати докладання рахунок спрощення розробки візуальної частинипроекта.[4]

Delphi 7 може працювати у середовищі ОС від Windows 95 до Windows XP іVista. Особливих вимог до комп'ютера система має не пред'являє, крім те, що процесор може бути типу Pentium, оперативної пам'яті - щонайменше 32Мбайт і вільної дисковоїпамяти.[5]


2. Розробка робочого проекту

 

2.1 Розробка програми

Під час розробки програми «>Угадайка» було використано середовище програмуванняBorland Delphi 7. Проект містить одну форму –Form1 (див. Малюнок 1). На формі розташовані кнопки (>TButton) – меню програми (повторює елементиTMainMenu1), 4 контейнераTPanel іTMainMenu.

>Рис. 1 – Вікно формиUgadaika

Властивості формиForm1:

  -Align =alNone

  -BorderIcons = [>biSystemMenu,biMinimize]

  -BorderStyle =bsSingle

  -Caption = “>Угадайка”

  -ClientHeight = 406

  -ClientWidth = 252

  -Color =clBtnFace

  - Position =poScreenCenter

>Cобития формиForm1:

  -OnCreate : оголошення масивів

  -OnCloseQuery : питання з підтвердженням закриття програми

>TMainMenu1 – головне меню програми, прихований елемент управління, у якому масив розділу меню (див. Малюнок 2).

>Рис. 2 – ВікноTMainMenu1

1. ЕлементиTMainMenu1:

>N1 : Гра

  -NewGame : Нова гра (>ShortCut =F2)

  -BestResults : Найкращі результати

  -ExitProgr : Вихід

>N2 : Довідка

  -Rules : Правила гри

  -About : Про торішню програму (>ShortCut =F1)

Для елементів меню «Про торішню програму» (>About) і «Нова гра» (>NewGame) призначені «гарячі клавіші» -F1 іF2 відповідно. Це як зручності користувача, і відповідно до усталеним традиціям написання додатків для ОС Microsoft Windows.КнопкиTButton10,TButton11,TButton12,TButton13 іTButton14 розташовані на півметровій формі тільки до зручності управління додатком. Їх події повністю повторюють події відповідних елементів головного меню (точніше, при кліці з кожної кнопці ініціюється подія відповідного елементаTMainMenu1), проте управління додатком для користувача помітноупрощается.[6]

2. Властивості компонентаTButton10:

  -Caption = Почати гру

  -Left = 8

  - Top = 104

  -Height = 25

  -Width = 233

Події компонентаTButton10:

  -OnClick : перехід процедуриNewGame.OnClick

3. Властивості компонентаTButton11:

  -Caption = Правила гри

  -Left = 8

  - Top = 136

  -Height = 25

  -Width = 233

Події компонентаTButton11:

  -OnClick : перехід процедуриRules.OnClick

4. Властивості компонентаTButton12:

  -Caption = Найкращі результати

  -Left = 8

  - Top = 168

  -Height = 25

  -Width = 233

Події компонентаTButton12:

  -OnClick : перехід процедуриBestResults.OnClick

5. Властивості компонентаTButton14:

  -Caption = Про торішню програму

  -Left = 8

  - Top = 200

  -Height = 25

  -Width = 233

Події компонентаTButton14:

  -OnClick : перехід процедуриAbout.OnClick

5. Властивості компонентаTButton13:

  -Caption = Вихід

  -Left = 8

  - Top = 232

  -Height = 25

  -Width = 233

Події компонентаTButton13:

  -OnClick : перехід процедуриExitProgr.OnClick

Компоненти, які стосуються різним «частинам» гри було розміщено на чотирьох різнихTPanel.Панель є «контейнером» компонентів і елементів управлінняприложением.[7]

Для спрощення проектування докладання, однотипні елементи були згруповані в масиви елементів. Це дозволяє у виконання програми легко звертатися до них сьогодні за індексом, не вдаючись до найскладніших конструкціямкода.[8]

>TPanel1 (див. Малюнок 3) містить компоненти, які у основний грі. Коли властивостіVisible присвоюється значенняtrue, аналогічне властивість інших трьох компонентівTPanel набуває значенняfalse. Також у своїй властивістьAlign набуває значенняalClient, що дозволяє «розгорнути»TPanel1 за величиною форми. [9]

>Рис. 3 –КомпонентTPanel1

6. Масиви з груп компонентів, що є наTPanel1:

  -AttemptLabel :TLabel4,TLabel2,TLabel5,TLabel6,TLabel7,TLabel8

  -AttemptSpin:TSpinEdit1,TSpinEdit2,TSpinEdit3,TSpinEdit4,TSpinEdit5,TSpinEdit6

  -AttemptButton:TButton1,TButton2,TButton3,TButton4,TButton5,TButton6

Властивості компонентаTPanel1:

  -Align =alNone (дане значення змінюється у процесі виконання програми)

  -BevelOuter =bvNone

  -Color =clBtnFace

  -Left = 0

  - Top = 500 (дане значення змінюється у процесі виконання програми)

  -Height = 406

  -Width = 252

  -Visible =false (дане значення змінюється у процесі виконання програми)

6.1. Властивості компонентаTLabel1:

  -Alignment =taCenter

  -Caption = “>Генерируется число…” (дане значення змінюється у процесі виконання програми)

  -Color =clBtnFace

  -Left = 1

  - Top = 8

  -Height = 65

  -Width = 250

  -WordWrap =true

6.2. Властивості компонентаTLabel2:

  -Caption = “Маєте 6 спроб, щоб відгадати їх кількість” (дане значення змінюється у процесі виконання програми)

  -Color =clBtnFace

  -Left = 8

  - Top = 96

  -Height = 13

  -Width = 233

6.3. Властивості компонентаTLabel9:

  -Caption = “>md5-hash”

  -Color =clBtnFace

  -Left = 8

  - Top = 80

  -Height = 13

  -Width = 49

6.4. Властивості компонентаTLabel10:

  -AutoSize =false

  -Caption = “>hash”

  -Color =clBtnFace

  -Font.Color =clGray

  -Left = 64

  - Top = 80

  -Height = 13

  -Width = 185

6.5. Властивості компонентаAHint (тип –TLabel):

  -AutoSize =false

  -Caption = “>AHint”

  -Color =clBtnFace

  -Left = 8

  - Top = 120 (дане значення змінюється у процесі виконання програми)

  -Height = 13

  -Width = 233

6.6. Властивості компонентаTEdit1:

  -BevelInner =bvLowered

  -BorderStyle =bsNone

  -Color =clBtnFace

  -Left = 64

  - Top = 96

  -Height = 21

  -Width = 185

  -Visible =false (дане значення змінюється у процесі виконання програми)

6.7. Властивості масиву компонентівAttemptLabel (тип –TLabel):

  -Caption = “Спроба №…”

  -Color =clBtnFace

  -Left = 8

  -Height = 13

  -Width = 65

6.8. Властивості масиву компонентів >AttemptSpin (тип –TspinEdit):

  -Color =clWindow

  -MinValue = 1

  -MaxValue = 100

  -Left = 96

  -Height = 22

  -Width = 65

6.9. Властивості масиву компонентівAttemptButton (тип –TButton):

  -Caption = “>OK”

  -Left = 168

  -Height = 25

  -Width = 75

>Компонент має одну властивість:OnClick – порівняннявведенного числа ізагаданного, висновок проміжних або остаточних результатів гри.

НаTPanel2 (див. Малюнок 4) перебувають компоненти, задіяні при виведення кращих результатів гри. [10]


>Рис. 4 –КомпонентTPanel2

7. Масиви з груп компонентів, що є наTPanel2:

  -r0:TLabel16,TLabel20,TLabel24,TLabel28,TLabel32,TLabel36,TLabel40,TLabel44,TLabel48,TLabel52.

  -r1:TLabel17,TLabel21,TLabel25,TLabel29,TLabel33,TLabel37,TLabel41,TLabel45,TLabel49,TLabel53.

  -r2:TLabel18,TLabel22,TLabel26,TLabel30,TLabel34,TLabel38,TLabel42,TLabel46,TLabel50,TLabel54.

  -r3:TLabel19,TLabel23,TLabel27,TLabel31,TLabel35,TLabel39,TLabel43,TLabel47,TLabel51,TLabel55.

Властивості компонентаTPanel2:

  -Align =alNone (дане значення змінюється у процесі виконання програми)

  -BevelOuter =bvNone

  -Color =clBtnFace

  -Left = 0

  - Top = 500 (дане значення змінюється у процесі виконання програми)

  -Height = 406

  -Width = 252

  -Visible =false (дане значення змінюється у процесі виконання програми)

7.1. Властивості компонентаTLabel11:

  -Caption = “Найкращі результати”

  -Color =clBtnFace

  -Left = 8

  - Top = 16

  -Height = 13

  -Width = 103

7.2. Властивості компонентаTLabel12 і масиву компонентівr0 (тип –TLabel):

  -Caption = “№” (дане значення змінюється у процесі виконання програми)

  -Color =clBtnFace

  -Left = 8

  -Height = 13

  -Width = 11

7.3. Властивості компонентаTLabel13 і масиву компонентівr1 (тип –TLabel):

  -Caption = “Ім'я гравця” (дане значення змінюється у процесі виконання програми)

  -Color =clBtnFace

  -Left = 13

  -Height = 13

  -Width = 60

7.4. Властивості компонентаTLabel14 і масиву компонентівr2 (тип –TLabel):

  -Caption = “Спроби” (дане значення змінюється у процесі виконання програми)

  -Color =clBtnFace

  -Left = 104

  -Height = 13

  -Width = 45

7.5. Властивості компонентаTLabel15 і масиву компонентівr3 (тип –TLabel):

  -Alignment =taRightJustify

  -AutoSize =false

  -Caption = “Дата та палестинці час” (дане значення змінюється у процесі виконання програми)

  -Color =clBtnFace

  -Left = 148

  -Height = 13

  -Width = 100

7.6. Властивості компонентаTButton7:

  -Caption = “Повернутися в меню”

  -Left = 8

  - Top = 368

  -Height = 25

  -Width = 233

>Компонент має одну подія –OnClick : за його ініціалізаціїPanel2 прибирається з екрана.TPanel3 – інформаційна панель «Про торішню програму» (див. Малюнок 5). Тут розташовані текстові мітки (>TLabel) і кнопка (>TButton8) повернення в «головне меню» програми.

8. Властивості компонентаTPanel3:

  -Align =alNone (дане значення змінюється у процесі виконання програми)

  -BevelOuter =bvNone

  -Color =clBtnFace

  -Left = 0

  - Top = 500 (дане значення змінюється у процесі виконання програми)

  -Height = 406

  -Width = 252

  -Visible =false (дане значення змінюється у процесі виконання програми)

>Рис. 5 –КомпонентTPanel3

8.1. Властивості компонентаTLabel56:

  -Caption = ">Угадайка",ver.1.0

  -Color =clBtnFace

  -Font.Style = [>fsBold]

  -Left = 8

  - Top = 16

  -Height = 13

  -Width = 118

8.2. Властивості компонентаTLabel57:

  -Caption = "Автор програми"

  -Color =clBtnFace

  -Left = 8

  - Top = 56

  -Height = 13

  -Width = 95

8.3. Властивості компонентаTLabel58:

  -Caption = "ТутФ.И.О студента"

  -Color =clBtnFace

  -Left = 24

  - Top = 72

  -Height = 13

  -Width = 172

8.4. Властивості компонентаTLabel59:

  -Caption = "Студент ? вказати курс"

  -Color =clBtnFace

  -Left = 24

  - Top = 88

  -Height = 13

  -Width = 80

8.5. Властивості компонентаTLabel60:

  -Caption = "Групи ??? вказати групу"

  -Color =clBtnFace

  -Left = 24

  - Top = 104

  -Height = 13

  -Width = 80

8.6. Властивості компонентаTLabel61:

  -Caption = "Вказати філія СГА"

  -Color =clBtnFace

  -Left = 24

  - Top = 120

  -Height = 13

  -Width = 137

8.7. Властивості компонентаTLabel62:

  -Caption = "©Allrightsreserved, 2010"

  -Color =clBtnFace

  -Left = 8

  - Top = 144

  -Height = 13

  -Width = 125

8.8. Властивості компонентаTButton8:

  -Caption = “Повернутися в меню”

  -Left = 8

  - Top = 368

  -Height = 25

  -Width = 233

>Компонент має одну подія –OnClick : за його ініціалізаціїPanel3 прибирається з екрана.

>TPanel4 – панель, що містить інформацію щодо правил гри (див. Малюнок 6). Містить лише три компонента типуTLabel й одне кнопку –TButton9.


>Рис. 9 –КомпонентTPanel4

9. Властивості компонентаTPanel4:

  -Align =alNone (дане значення змінюється у процесі виконання програми)

  -BevelOuter =bvNone

  -Color =clBtnFace

  -Left = 0

  - Top = 500 (дане значення змінюється у процесі виконання програми)

  -Height = 406

  -Width = 252

  -Visible =false (дане значення змінюється у процесі виконання програми)

9.1. Властивості компонентаTLabel63:

  -Caption = "Правила гри"

  -Color =clBtnFace

  -Font.Style = [>fsBold]

  -Left = 8

  - Top = 24

  -Height = 13

  -Width = 118

9.2. Властивості компонентаTLabel64:

  -AutoSize =false

  -Caption = "Комп'ютер "загадує" випадкове число від 1 до 100. Ваше завдання: вгадати його з найменше спроб. Після кожної спроби вам повідомляється: більше загадане число зазначеного вами менше. Теоретично, загадане число можна визначити за 7 спроб, однак у цю гру вам дається лише 6 - адже бути хоч якийсь шанс у комп'ютера! ”

  -Color =clBtnFace

  -Font.Style = [>fsBold]

  -Left = 8

  - Top = 48

  -Height = 153

  -Width = 241

  -WordWrap =true

9.3. Властивості компонентаTLabel65:

  -AutoSize =false

  -Caption = "Для перевірки чесності використовується алгоритм шифруванняmd5: по тому, як комп'ютером булосгенерировано число, генерується ще й рядок, що дозволяє підтвердити наприкінці гри, що "не дурив".Md5-хеш цього рядка вам повідомляється відразу після генерації числа.”

  -Color =clBtnFace

  -Font.Style = [>fsBold]

  -Left = 8

  - Top = 192

  -Height = 153

  -Width = 241

  -WordWrap =true

9.4. Властивості компонентаTButton9:

  -Caption = “Повернутися в меню”

  -Left = 8

  - Top = 368

  -Height = 25

  -Width = 233

>Компонент має одну подія –OnClick : за його ініціалізаціїPanel3 прибирається з екрана.

2.2Спецификация програми

>Исполняемий файл програми називаєтьсяUgadaika.exe, її розмір становить 453632 байт, файл лежить у кореневому розділі носія. Вихідний код проекту перебуває у файліUgadaika.pas (Додаток А), розмір файла становить 12976 байт (містить 559 рядків коду).

Таблиця 2.1 –Спецификация програми

Найменування Позначення Примітка
>Md5hash.dcu >Объектний файл дляMd5hash.pas >Откомпилированная версіяMd5hash.pad
>Md5hash.pas >Файл програмного модуляMd5hash Визначає функціональністьMd5hash
>Md5lib.dll >Файл бібліотек Зберігає набіроткомпилированних ресурсів
>Project1.dof >Файл параметрів проекту Містить поточні установки проекту: настройки компілятора ікомпоновщика, імена службових каталогів, умовні директиви.
>Project1.dpr >Файл проекту >Связивает між всі файли, із яких складається проект
>Project1.res >Файл ресурсів Містить піктограми, графічні зображення
>Ugadaika.pas >Файл програмного модуля Форми 1 Визначає функціональність форми №1
>Ugadaika.dfm >Файл форми 1 Містить список всіх компонентів, включених до форми 1
>Ugadaika.dcu >Объектний файл дляUnit1.Pas >Откомпилированная версіяUnit1.Pas
>Project1.exe >Исполняемий файл >Откомпилированний файл проекту
>Results.dat Текстовий файл Містить інформацію про кращих результатах попередніх ігор

2.3 Опис програми

 

Загальні відомості: програма «>Угадайка» було створено з допомогою середовища розробкиBorland Delphi версії 7.0. Програма працює у ОС MS Windows 98 і від.

Функціональне призначення програми: дозвілля, розвага.

Опис логічного структури: ця програма немає зв'язків із зарубіжними додатками.

Використовувані технічні засоби: програма розробили під час використання комп'ютера з урахуванням процесора Intel Celeron 2.2 МГц, обсягомОЗУ 2048 МБ. Програмні кошти: ОС Microsoft Windows XP,Borland Delphi 7.0.

Виклик і завантаження: гра завантажується після запуску виконуваного файлаUgadaika.exe

ігровий додаток програмаугадайка


2.4 Тестування програми

Після запуску програми необхідно або натиснути «Почати гру» переважно меню програми, або у головному меню вибрати пункт «Гра» - «Нова гра», або натиснутиF2.

При тестуванні

Страница 1 из 2 | Следующая страница

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

Навігація