Разработка программы Угадайка

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    301,32 Кб
  • Опубликовано:
    2012-07-17
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Разработка программы Угадайка

Введение


Целью данной курсовой работы является изучение основ программирования и создание полноценного приложения в среде программирования Delphi.

В настоящее время для начинающих программистов существует огромное разнообразие всевозможных языков программирования, однако Delphi является достаточно простым и легким в понимании. Delphi является универсальным объектно-ориентированным языком, позволяющим использовать все современные возможности визуального проектирования.- это среда быстрой разработки, в которой в качестве языка программирования используется язык Delphi. Язык Delphi -- строго типизированный объектно-ориентированный язык, в основе которого лежит хорошо знакомый программистам Object Pascal. Delphi прост и логичен. Основные конструкции языка четко выделяются в программе, что способствует хорошему восприятию написанного кода. Графический интерфейс Delphi отлично продуман, среда разработки предоставляет доступ только к тем участкам кода, с которыми необходимо работать, скрывая основную часть программы, которая создается автоматически самой разработкой.

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

Цель работы заключается в том, чтобы правильно составить алгоритм поставленной задачи по обработке типизированного файла, разработать и отладить программу, реализующую разработанный алгоритм.

Основная часть

 

1. Разработка эскизного и технического проектов программы

эскизный программа delphi

Тема: Разработка приложения для Windows, представляющего собой компьютерную игру «Угадайка».

Условие задачи: Игра «Угадайка» состоит в том, что играющий пытается угадать загаданное компьютером случайным образом число. У игрока есть 6 попыток, чтобы угадать число. Игра длится 5 партий. По окончании последней партии пользователю выводится статистика о количестве угаданных чисел.

Назначение и область применения

Программа представляет собой игру, соответственно является развлекательной программой. Область применения: досуг пользователя.

Поскольку ставится задача разработать приложение для Windows, то изначально программа разрабатывается для работы только под управлением операционной системы Windows любой версии.

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

Постановка задачи

Разработать программу «Угадайка». Игра длится 5 партий. В начале каждой партии компьютер случайным образом загадывает число в интервале от 1 до 100. Пользователь пытается угадать это число за 6 попыток. Если игрок угадывает - начинается следующая партия, если нет - выводится информационное сообщение об окончании партии и сообщается загаданное число. По истечении 5 партий выводится информационное сообщение, содержащее статистическую информацию о ходе игры. У пользователя есть возможность начать новую игру или выйти. В течение всей игры пользователь, нажав на кнопку «Справка» может получить информацию о правилах игры, ее версии и авторе.

Описание алгоритма


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

На основании разработанного алгоритма был сделан вывод о необходимости использования среды программирования Delphi. Данная среда предлагает широкие возможности интегральной среды разработки программ для операционной системы Windows.

 

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

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

Для разработки приложения игры «Угадайка» используется среда визуального программирования Delphi. Проект программы содержит 4 окна:

) Form1 - главное окно программы 2) Form2 - информационное сообщение «Вы угадали» 3) Form3 - информационное сообщение «Вы не угадали»

) Form4 - окно справки

Окно Form1:


Компонент Form1 Свойства: Caption = 'Угадайка'  Color = 11533042

1 - компонент Button1

Свойства: Caption = «Новая игра»

События:

Button1Click - начинается новая игра

- компонент Label4

Свойства: Caption = «Раунд № »

- компонент Label2

Свойства: Caption = «Осталось попыток »

- компонент Label3

Свойства:  Caption = «Число больше или меньше»

- компонент ScrollBox1

- компонент Button3

Свойства: Caption = «Ответить»

События:

Button3Click - значение компонента ScrollBox сравнивается с загаданным числом ch. Если совпадает, выводится окно Form2, значение s обнуляется, переменная p инкрементируется, числу ch присваивается новое рандомное значение.

- компонент Button4

Свойства: Caption = «Справка»

События:

Button4Click - выводится окно Form4

- компонент Button2

Свойства: Caption = «Выход»

События:

Button2Click - выход из программы

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

Исполняемый файл программы Игра «Угадайка» имеет название Ug.exe и расположен в корневой папке. Входящие в проект файлы расположены в папке Проект.

Наименование

Обозначение

Примечание

Ud.cfg

Файл конфигурации проекта

Содержит конфигурационные установки для проекта

Ug.dof

Файл параметров проекта

Содержит текущие установки проекта: настройки компилятора и компоновщика, имена служебных каталогов, условные директивы

Ug.dpr

Файл проекта

Связывает все файлы, из которых состоит приложение

Ug.res

Файл ресурсов

Содержит пиктограммы, графические изображения

Unit1.dcu

Объектный файл для Unit1.pas

Откомпилированная версия Unit1.pas

Unit1.dfm

Файл формы №1

Unit1.pas

Файл программного модуля для формы #1

Определяет функциональность формы №1

Unit2.dcu

Объектный файл для Unit2.pas

Откомпилированная версия Unit2.pas

Unit2.dfm

Файл формы №2

Содержит список свойств всех компонентов, включенных в форму №2

Unit2.pa

Файл программного модуля для формы #2

Определяет функциональность формы №2

Unit3.dcu

Объектный файл для Unit3.pas

Откомпилированная версия Unit3.pas

Unit3.dfm

Файл формы №3

Содержит список свойств всех компонентов, включенных в форму №3

Unit3.pas

Файл программного модуля для формы #3

Определяет функциональность формы №3

Unit4.dcu

Объектный файл для Unit4.pas

Откомпилированная версия Unit4.pas

Unit4.dfm

Файл формы №4

Содержит список свойств всех компонентов, включенных в форму №4

Unit4.pas

Файл программного модуля для формы #4

Определяет функциональность формы №4


Текст программы

Приводится полный листинг программы, содержащей 4 модуля (Unit):

unit Unit1;

interface, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ActnList, ComCtrls;= class(TForm): TButton;: TButton;

Label1: TLabel;

UpDown1: TUpDown;

Edit1: TEdit;

Label2: TLabel;

Button3: TButton;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Button4: TButton;

procedure Button2Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure UpDown1Click(Sender: TObject; Button: TUDBtnType);

procedure Button3Click(Sender: TObject);

function FormHelp(Command: Word; Data: Integer;

var CallHelp: Boolean): Boolean;

procedure Button4Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

Form1: TForm1;

ch: integer;// Загадываемое число

s: integer;// Кол-во попыток

p: integer;// Номер партии

k: integer;// Кол-во угадыванийUnit2, Unit3, Unit4;

{$R *.dfm}

// Действия, выполняемые при создании формы №1

procedure TForm1OnCreate();;:=random(101-1);.Label1.Caption:=IntToStr(ch);:=6;:=1;.Label2.Caption:='Осталось ' + IntToStr(6-s) + ' попыток';;

// Кнопка ВыходTForm1.Button2Click(Sender: TObject);.Close;.Terminate;;

//Кнопка Новая играTForm1.Button1Click(Sender: TObject);;:=random(101-1);.Caption:=IntToStr(ch);:=6;:=1;:=0;.Caption:='Осталось ' + IntToStr(s) + ' попыток';

//Label1.Visible:= True;.Visible:= True;.Visible:= True;.Visible:= True;.Visible:= True;.Caption:='Партия № '+ IntToStr(p);.Visible:= True;;TForm1.UpDown1Click(Sender: TObject; Button: TUDBtnType);.Min:=1;.Max:=100;;

// Кнопка ОТВЕТИТЬTForm1.Button3Click(Sender: TObject);.Visible:= True;(Edit1.Text=IntToStr(ch)) then

begin

k:=k+1;

end;(Edit1.Text>IntToStr(ch)) then

begin

Label3.Caption:='Число '+Edit1.Text+' больше загаданного';

s:=s-1;

Label2.Caption:='Осталось ' + IntToStr(s) + ' попыток';

end;(Edit1.Text<IntToStr(ch)) then

begin

Label3.Caption:='Число '+Edit1.Text+' меньше загаданного';

s:=s-1;

Label2.Caption:='Осталось ' + IntToStr(s) + ' попыток';

end;s=0 then

begin

Form3.Label2.Caption:='Было загадано число ' +IntToStr(ch);

Form3.ShowModal;

s:=6;

Label4.Caption:='Партия № '+ IntToStr(p);

Label6.Caption:=Label6.Caption+IntToStr(p)+') число '+IntToStr(ch)+#13;

end;p=6 then

begin

Label2.Visible:= False;

Label3.Visible:= False;

Label4.Visible:= False;

Edit1.Visible:= False;

Button3.Visible:= False;

UpDown1.Visible:= False;

Label6.Caption:='Вы угадали ' + IntToStr(k)+' раз';

Label6.Visible:= True;

Label5.Visible:= True;

end;;

//Кнопка СправкаTForm1.Button4Click(Sender: TObject);.ShowModal;;.

unit Unit2;

interface

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;

TForm2 = class(TForm)

Button1: TButton;

Label1: TLabel;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

Form2: TForm2;Unit1;

{$R *.dfm}TForm2.Button1Click(Sender: TObject);

Form2.Close;

p:=p+1;

Form1.Label4.Caption:='Партия № '+ IntToStr(p);

s:=6;

randomize;

ch:=random(101-1);

Form1.label1.Caption:=IntToStr(ch);.label3.Visible:= False;;.

unit Unit3;

interface

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;

TForm3 = class(TForm)

Label1: TLabel;

Button1: TButton;

Label2: TLabel;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;: TForm3;Unit1;

{$R *.dfm}TForm3.Button1Click(Sender: TObject);.Close;:=p+1;

Form1.Label4.Caption:='Партия № '+ IntToStr(p);

s:=6;

randomize;

Form1.label1.Caption:='Было загадано число' +IntToStr(ch);

Form1.Label2.Caption:='Осталось ' + IntToStr(s) + ' попыток';

Form1.label3.Visible:= False;;.

unit Unit4;

interface

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;

TForm4 = class(TForm)

Button1: TButton;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

Form4: TForm4;Unit2, Unit1;

{$R *.dfm}TForm4.Button1Click(Sender: TObject);

Form4.Close;;

end.

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

Общие сведения:

Программа «Угадайка». Наименование «Ug.exe». Программа была написана на языке Object Pascal в среде программирования Delphi.

Функциональное назначение:

Приложение является логической игрой.

Используемые технические средства:

Для корректной работы приложения требуется компьютер с установленной операционной системой Windows.

Вызов и загрузка:

Программа запускается как обычное приложение Windows. Программа не требует установки и любых дополнительных файлов.

Входные и выходные данные:

Программа не требует и не использует никаких входных и выходных данных.

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

При тестировании программы требуется проверить, соответствует ли разработанная программа всем требованиям, изложенным в задании. Для проверки в течение выполнения программы на экран выводится статистическая информация, позволяющая визуально отследить, правильно ли выполняется требуемый алгоритм. В частности, на главной форме приложения указано, сколько осталось у пользователя попыток и какой сейчас по счету раунд.


Если пользователь использовал все попытки, но так и не угадал число, на экран для проверки выводится информационное сообщение с указанием загаданного числа.

3. Внедрение

Условия выполнения программы

Программа работает под управлением операционной системы Windows. Для удобства использования программы требуются следующие аппаратные средства: системный блок, мышь, клавиатура, монитор.

Выполнение программы

Для проверки работы программы нужно проверить все возможные ходы. для удобства проверки на окне Form1 присутствует компонент Label1, который выводит на экран загаданное число. По умолчанию этот компонент скрыт.

Следует проверить:

нажать на кнопку «Новая игра». Число должно обновиться, номер партии равен 1, количество попыток равно 6.

нажать на кнопку «Справка». Появляется модальное окно со справкой.

нажать на кнопку «Выход». Приложение должно закрыться.

ввести число, идентичное загаданному. Должно появиться модальное окно с сообщением «Вы угадали», номер партии увеличивается на один, количество попыток становится равным 6.

ввести число, не равное загаданному. Число попыток уменьшается на 1, на главном окне появляется надпись «Число меньше или больше загаданного»

ввести неправильное число 6 раз. Должно появиться модальное окно с сообщением «Вы не угадали!», номер партии увеличивается на 1, число попыток снова становится равным 6.

использовать все попытки последней партии. Появляется статистика.

Заключение

В процессе написания данной курсовой работы была разработана программа «Угадайка», полностью соответствующая заданию. Играющий пытается угадать загаданное компьютером случайным образом число. У игрока есть 6 попыток, чтобы угадать число. Игра длится 5 партий. По окончании последней партии пользователю выводится статистика о количестве угаданных чисел. Приложение работает под управлением операционной ситемы Windows.

В процессе разработки приложения были изучены основы Делфи- работа с формами приложения, основные визуальные объекты и их взаимодействие.

В результате выполнения данной курсовой работы, я убедилась в широких возможностях языка программирования Object Pascal и среды проектирования Delphi.

Глоссарий

№ п/п

Понятие

Определение

1

Инкрементировать

Увеличить значение на 1.

2

Модальная форма

Форма, которая должна быть закрыта перед обращением к любой другой форме данного приложения.

3

Операционная система

Комплекс управляющих и обрабатывающих программ, организующих процесс общения пользователя и системы

4

Рандомное число

Число, значение которого выбирается случайным образом.

Среда программирования

Система программных средств, используемых для разработки программного обеспечения. включает в себя как минимум текстовый редактор, компилятор, отладчик.

6

Операционная система

Комплекс управляющих и обрабатывающих программ, реализующих процесс общения пользователя с компьютером.

7

Пиктограмма

Знак, отображающий важнейшие узнаваемые черты объекта, на который он указывает, чаще всего в схематическом виде.

8

Алгоритм

Точный набор инструкций, описывающих последовательность действий, приводящих к конечному результату.

9

Приложение

Прикладная программа.

10

Графический интерфейс

Пользовательский интерфейс, представленный наглядно.

11

Тестирование

Проверка работоспособности.

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


1. Методические указания по выполнению курсовой работы по дисциплинам направления «Информатика и вычислительная техника» [Текст]: учебное пособие / В.Н. Фокина, И.Б. Глазырина - М.: Изд-во СГА, 2008. -32 с.

. Методическое пособие по курсовой работе «Программирование на языке высокого уровня» [Текст]: учебное пособие / И.В. Глазырина, Т.А. Лабзина - М.: Изд-во СГА, 2010. -39 с.

. Методические указания по выполнению студенческих учебно-научных и творческих работ [ Текст ]: учебное пособие / И.В. Алерихин и др. - М.: Изд-во СГА, 2007. -44 с.

. Фаронов, В.В. Delphi. Программирование на языке высокого уровня [Текст] : учебник для вузов / В.В. Фаронов. СПб.: Питер, 2008

. Архангельский, А.Я. Программирование в Delphi 7 [Текст] / А.Я. Архангельский. М.: Бином-Пресс, 2008.

. Уроки Делфи начинающим с нуля [Электронный ресурс]. Режим доступа: World Wide Web. URL: http://www.delphi-manual.ru. - 17.12.20117. Бобровский, С.И. Технологии Delphi 2006. Новые возможности [Текст] / С.И. Бобровский. СПб.: Питер, 2006.

. Попов, В.Б. Паскаль и Дельфи [Текст]: самоучитель / В.Б. Попов. -СПб.:Питер, 2004.

. Чеснокова, О.В. Алгоритмы и программы. Учимся программировать на Delphi 2007 [ Текст] : учебный курс / Ю.П.Федоренко. - СПб.: Питер, 2008.

. Delphi Russian Knowledge Base [Электронный ресурс]: База знаний Делфи. / В. Невзоров. - 2011. -Версия 3.1. - Режим доступа:World Wide Web. URL: http:://www.drkb.ru. - 17.12.2011.

. Культин, Н.Б. Рсновытпрограммирования в Delphi 7 [Текст] / Н.Б. Культин. - СПб.: БХВ-Петербург, 2008.


Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!