Разработка программы Угадайка
В настоящее время для начинающих программистов существует огромное разнообразие всевозможных языков программирования, однако Delphi является достаточно простым и легким в понимании. Delphi является универсальным объектно-ориентированным языком, позволяющим использовать все современные возможности визуального проектирования. Условие задачи: Игра «Угадайка» состоит в том, что играющий пытается… Читать ещё >
Разработка программы Угадайка (реферат, курсовая, диплом, контрольная)
Целью данной курсовой работы является изучение основ программирования и создание полноценного приложения в среде программирования Delphi.
В настоящее время для начинающих программистов существует огромное разнообразие всевозможных языков программирования, однако 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 окна:
1) Form1 — главное окно программы 2) Form2 — информационное сообщение «Вы угадали» 3) Form3 — информационное сообщение «Вы не угадали»
4) Form4 — окно справки
Окно Form1:
Компонент Form1 Свойства: Caption = 'Угадайка' Color = 11 533 042
1 — компонент Button1
Свойства: Caption = «Новая игра»
События:
Button1Click — начинается новая игра
2 — компонент Label4
Свойства: Caption = «Раунд № «
3 — компонент Label2
Свойства: Caption = «Осталось попыток «
4 — компонент Label3
Свойства: Caption = «Число больше или меньше»
5 — компонент ScrollBox1
6 — компонент Button3
Свойства: Caption = «Ответить»
События:
Button3Click — значение компонента ScrollBox сравнивается с загаданным числом ch. Если совпадает, выводится окно Form2, значение s обнуляется, переменная p инкрементируется, числу ch присваивается новое рандомное значение.
7 — компонент Button4
Свойства: Caption = «Справка»
События:
Button4Click — выводится окно Form4
8 — компонент Button2
Свойства: Caption = «Выход»
События:
Button2Click — выход из программы
Спецификация программы
Исполняемый файл программы Игра «Угадайка» имеет название Ug. exe и расположен в корневой папке. Входящие в проект файлы расположены в папке Проект.
Наименование | Обозначение | Примечание | |
Ud.cfg | Файл конфигурации проекта | Содержит конфигурационные установки для проекта | |
Ug.dof | Файл параметров проекта | Содержит текущие установки проекта: настройки компилятора и компоновщика, имена служебных каталогов, условные директивы | |
Ug.dpr | Файл проекта | Связывает все файлы, из которых состоит приложение | |
Ug.res | Файл ресурсов | Содержит пиктограммы, графические изображения | |
Unit1.dcu | Объектный файл для Unit1. pas | Откомпилированная версия Unit1. pas | |
Unit1.dfm | Файл формы № 1 | Содержит список свойств всех компонентов, включенных в форму № 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
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ActnList, ComCtrls;
type
TForm1 = class (TForm)
Button1: TButton;
Button2: 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;
var
Form1: TForm1;
ch: integer;// Загадываемое число
s: integer;// Кол-во попыток
p: integer;// Номер партии
k: integer;// Кол-во угадываний
implementation
uses Unit2, Unit3, Unit4;
{$R *.dfm}
// Действия, выполняемые при создании формы № 1
procedure TForm1OnCreate ();
begin
randomize;
ch:=random (101−1);
Form1.Label1.Caption:=IntToStr (ch);
s:=6;
p:=1;
Form1.Label2.Caption:='Осталось ' + IntToStr (6-s) + ' попыток';
end;
// Кнопка Выход
procedure TForm1. Button2Click (Sender: TObject);
begin
Form1.Close;
Application.Terminate;
end;
//Кнопка Новая игра
procedure TForm1. Button1Click (Sender: TObject);
begin
randomize;
ch:=random (101−1);
Label1.Caption:=IntToStr (ch);
s:=6;
p:=1;
k:=0;
Label2.Caption:='Осталось ' + IntToStr (s) + ' попыток';
//Label1.Visible:= True;
Label2.Visible:= True;
Edit1.Visible:= True;
Button3.Visible:= True;
UpDown1.Visible:= True;
Label4.Caption:='Партия № '+ IntToStr (p);
Label4.Visible:= True;
end;
procedure TForm1. UpDown1Click (Sender: TObject; Button: TUDBtnType);
begin
UpDown1.Min:=1;
UpDown1.Max:=100;
end;
// Кнопка ОТВЕТИТЬ
procedure TForm1. Button3Click (Sender: TObject);
begin
Label3.Visible:= True;
if (Edit1.Text=IntToStr (ch)) then
begin
k:=k+1;
Form2.ShowModal;
end;
if (Edit1.Text>IntToStr (ch)) then
begin
Label3.Caption:='Число '+Edit1.Text+' больше загаданного';
s:=s-1;
Label2.Caption:='Осталось ' + IntToStr (s) + ' попыток';
end;
if (Edit1.Text
begin
Label3.Caption:='Число '+Edit1.Text+' меньше загаданного';
s:=s-1;
Label2.Caption:='Осталось ' + IntToStr (s) + ' попыток';
end;
if 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;
if 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;
end;
//Кнопка Справка
procedure TForm1. Button4Click (Sender: TObject);
begin
Form4.ShowModal;
end;
end.
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm2 = class (TForm)
Button1: TButton;
Label1: TLabel;
procedure Button1Click (Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
uses Unit1;
{$R *.dfm}
procedure TForm2. Button1Click (Sender: TObject);
begin
Form2.Close;
p:=p+1;
Form1.Label4.Caption:='Партия № '+ IntToStr (p);
s:=6;
randomize;
ch:=random (101−1);
Form1.label1.Caption:=IntToStr (ch);
Form1.label3.Visible:= False;
end;
end.
unit Unit3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm3 = class (TForm)
Label1: TLabel;
Button1: TButton;
Label2: TLabel;
procedure Button1Click (Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
implementation
uses Unit1;
{$R *.dfm}
procedure TForm3. Button1Click (Sender: TObject);
begin
Form3.Close;
p:=p+1;
Form1.Label4.Caption:='Партия № '+ IntToStr (p);
s:=6;
randomize;
ch:=random (101−1);
Form1.label1.Caption:='Было загадано число' +IntToStr (ch);
Form1.Label2.Caption:='Осталось ' + IntToStr (s) + ' попыток';
Form1.label3.Visible:= False;
end;
end.
unit Unit4;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm4 = class (TForm)
Button1: TButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
procedure Button1Click (Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form4: TForm4;
implementation
uses Unit2, Unit1;
{$R *.dfm}
procedure TForm4. Button1Click (Sender: TObject);
begin
Form4.Close;
end;
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. Методические указания по выполнению курсовой работы по дисциплинам направления «Информатика и вычислительная техника» [Текст]: учебное пособие / В. Н. Фокина, И. Б. Глазырина — М.: Изд-во СГА, 2008. -32 с.
2. Методическое пособие по курсовой работе «Программирование на языке высокого уровня» [Текст]: учебное пособие / И. В. Глазырина, Т. А. Лабзина — М.: Изд-во СГА, 2010. -39 с.
3. Методические указания по выполнению студенческих учебно-научных и творческих работ [ Текст ]: учебное пособие / И. В. Алерихин и др. — М.: Изд-во СГА, 2007. -44 с.
4. Фаронов, В.В. Delphi. Программирование на языке высокого уровня [Текст]: учебник для вузов / В. В. Фаронов. СПб.: Питер, 2008
5. Архангельский, А. Я. Программирование в Delphi 7 [Текст] / А. Я. Архангельский. М.: Бином-Пресс, 2008.
6. Уроки Делфи начинающим с нуля [Электронный ресурс]. Режим доступа: World Wide Web. URL: http://www.delphi-manual.ru. — 17.12.20 117. Бобровский, С. И. Технологии Delphi 2006. Новые возможности [Текст] / С. И. Бобровский. СПб.: Питер, 2006.
8. Попов, В. Б. Паскаль и Дельфи [Текст]: самоучитель / В. Б. Попов. -СПб.:Питер, 2004.
9. Чеснокова, О. В. Алгоритмы и программы. Учимся программировать на Delphi 2007 [ Текст]: учебный курс / Ю. П. Федоренко. — СПб.: Питер, 2008.
10. Delphi Russian Knowledge Base [Электронный ресурс]: База знаний Делфи. / В. Невзоров. — 2011. -Версия 3.1. — Режим доступа: World Wide Web. URL: http://www.drkb.ru. — 17.12.2011.
11. Культин, Н. Б. Рсновытпрограммирования в Delphi 7 [Текст] / Н. Б. Культин. — СПб.: БХВ-Петербург, 2008.