Написание программы "Угадайка"

№ п/пПонятиеОпределение1Алгоритмточный набор инструкций, описывающих последовательность действий некоторого исполнителя для достижения результата, решения некоторой задачи.2Библиотекасборник подпрограмм или объектов, используемых для

Написание программы Угадайка

Дипломная работа

Компьютеры, программирование

Другие дипломы по предмету

Компьютеры, программирование

Сдать работу со 100% гаранией

Данные о работе:

 

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

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

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

Содержание

 

Введение

. Разработка программы

.1 Технические характеристики

.2 Выбор состава технических и программных средств

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

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

.2 Спецификация программы

.3 Описание программы

.4 Тестирование программы

. Внедрение

Заключение

Глоссарий

Список использованных источников

Приложения

Введение

 

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

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

Условие задачи: Написать программу «Угадайка». Компьютер случайным образом загадывает число от 1 до 100. Задача пользователя - за минимальное количество попыток, но не более шести, угадать это число, предлагая компьютеру свои варианты, в ответ на которые программа указывает счёт попытки и сообщение о том, больше загаданное число или меньше введённого с клавиатуры. При правильной стратегии (деление интервала чисел пополам) наверняка угадать число можно за семь попыток. Игра состоит из пяти партий. После последней партии выводятся результаты.

Назначение программы: игра.

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

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

 

.1 Технические характеристики

 

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

Числа пользователь должен будет либо вводить с клавиатуры, либо увеличивать или уменьшать значения числа в поле ввода стрелками. После каждой попытки пользователю необходимо сообщить: больше загаданное число или меньше того, что он ввёл.

Если за 6 попыток пользователю удаётся угадать число, игра завершается. Если число так и не было отгадано, игра также завершается, а пользователю сообщается загаданное число.

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

Эта строка является исходной, а её md5-хэш (последовательность из 32 шестнадцатеричных чисел) будет сообщаться пользователю до начала игры. Данный хэш практически невозможно расшифровать (получить из него исходную строку), что предотвращает возможность получения загаданного числа иными методами, кроме угадывания его, однако для проверки честности пользователю достаточно лично получить из исходной строки md5-хэш (для этого существует множество небольших программ, в том числе и веб-приложений).

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

В файле будут храниться: имя игрока (вводится пользователем в случае успешной игры), результат (количество попыток, за которые было отгадано число), а также дата и время завершения игры.

 

1.2 Выбор состава технических и программных средств

 

Поскольку, согласно условию задачи, необходимо разработать приложение для операционной системы Microsoft Windows, для написания программы была выбрана интегрированная среда разработки Borland Delphi версии 7, которая позволяет достаточно быстро создавать приложения за счёт упрощения разработки визуальной части проекта.7 может работать в среде ОС от Windows 95 до Windows XP и Vista. Особых требований к компьютеру система не предъявляет, за исключением того, что процессор должен быть типа Pentium, оперативной памяти - не менее 32 Мбайт и достаточное количество свободной дисковой памяти.

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обытия формы Form1:

-OnCreate : объявление массивов

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

TMainMenu1 - главное меню программы, скрытый элемент управления, содержащий массив раздела меню (см. Рисунок 2).

 

Рис. 2 - Окно TMainMenu1

 

. Элементы TMainMenu1:

N1 : Игра

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

-BestResults : Лучшие результаты

-ExitProgr : Выход

N2 : Справка

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

-About : О программе (ShortCut = F1)

Для элементов меню «О программе» (About) и «Новая игра» (NewGame) назначены «горячие клавиши» - F1 и F2 соответственно. Это сделано как для удобства пользователя, так и согласно устоявшимся традициям написания приложений для ОС Microsoft Windows. Кнопки TButton10, TButton11, TButton12, TButton13 и TButton14 расположены на форме лишь для удобства управления приложением. Их события полностью повторяют события соответствующих элементов главного меню (точнее, при клике по каждой кнопке инициируется событие соответствующего элемента TMainMenu1), однако управление приложением для пользователя заметно упрощается.

. Свойства компонента 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. Панель является «контейнером» компонентов и элементов управления приложением.

Для упрощения проектирования приложения, однотипные элементы были сгруппированы в массивы элементов. Это позволяет в процессе выполнения программы легко обращаться к ним лишь по индексу, не прибегая к сложным конструкциям кода.

TPanel1 (см. Рисунок 3) содержит компоненты, задействованные в основной игре. Когда свойству Visible присваивается значения true, аналогичное свойство других трёх компонентов TPanel приобретает значение false. Также при этом свойство Align приобретает значение alClient, что позволяет «развернуть» TPanel1 по размеру формы.

 

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

 

. Массивы из групп компонентов, находящихся на 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

Похожие работы

1 2 3 4 > >>