close

Вход

Забыли?

вход по аккаунту

?

КурсоваяНурхановОтчет

код для вставкиСкачать
СОДЕРЖАНИЕ
ГРАФИК ВЫПОЛНЕНИЯ КУРСОВОГО ПРОЕКТА4ВВЕДЕНИЕ51 Общая часть61.1 Обзор элементов языка программирования2 Специальная часть2.1 Общая постановка задачи2.2 Описание программы комплекса2.3 Макро блок-схема2.4 Таблица идентификаторов комплекса2.5 Описание набора данных2.6 Структура записей файлов2.7 Постановка проблемной процедуры2.7.1 Описание проблемной программы 2.7.2 Блок-схема проблемной программы3 Организация производства 3.1Комплекс технических средств, необходимый для решения задачи 3.2Инструкция пользователю по работе с программойЗАКЛЮЧЕНИЕСПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВПРИЛОЖЕНИЕ
ГРАФИК ВЫПОЛНЕНИЯ КУРСОВОГО ПРОЕКТА
№ п/пНаименование работыСроки исполнения1Вводный инструктаж. Выдача заданий. Общая постановка задачи.12.10.20132Составление плана работы.14.10.20133Анализ программных средств.17.10.20134Описание набора данных18.10.20135Составление алгоритма работы программы.19.10.20136Организация ввода-вывода данных.21.10.20137Создание заставки программы.23.10.20138Организация меню.25.10.20139Описание проблемной процедуры.26.10.201310Разработка блок-схемы проблемной процедуры.27.10.201311Разработка алгоритма проблемной процедуры.01.11.201312Отладка проблемной процедуры.02.11.201313Тестирование проблемной процедуры.04.11.201314Исправление ошибок проблемной процедуры.08.11.201315Обработка дополнительных процедур.09.11.201316Отладка дополнительных процедур.11.11.201317Тестирование дополнительных процедур.15.11.201318Отладка программного комплекса.16.11.201319Тестирование программного комплекса.18.11.201320Исправление ошибок программного комплекса.22.11.201321Оформление интерфейса программы.23.11.201322Окончательное оформление программы.25.11.201323Оформление пояснительной записки.29.11.201324Защита курсового проекта.30.11.2013
ВВЕДЕНИЕ
В последнее время наблюдается рост интереса к программированию. Это связано с развитием и внедрением в повседневную жизнь информационно-коммуникационных технологий. Если человек имеет дело с компьютером или другим устройством, которое можно программировать, то рано или поздно у него возникнет желание, а иногда и необходимость, программировать.
Delphi позволяет разрабатывать как традиционные приложения Windows и приложения работы с базами данных, так и Web-приложения на основе современных технологий.
Delphi это система, в основе которой лежит технология визуального проектирования и событийного программирования. Суть этой технологии в том, что среда разработки берет на себя большую часть, рутиной работы, оставляя программисту конструирование диалоговых окон и разработку функций обработки событий.
Потребуется создать полноценную правильно-функционирующую программу и самостоятельно изучить некоторые процедуры и функции. В игре сочетаются хорошая графика и понятно оформленный программный код, что дает возможность без проблем понять программу, если потребуется ее изменить.
Цель работы заключается в том, чтобы правильно составить алгоритм поставленной задачи по разработке игры, разработать и отладить программу, реализующую разработанный алгоритм.
Курсовая работа представляет собой индивидуальное задание повышенной сложности по разработке программы на изучаемом языке высокого уровня.
Выполнение задания требует от студента комплексного применения своих знаний как в части владения языком программирования, так и в части умения создавать и реализовывать сложные алгоритмы.
1 ОБЩАЯ ЧАСТЬ
1.1 Обзор элементов языка программирования Delphi - структурированный, объектно-ориентированный язык программирования, диалект Object Pascal. Начиная со среды разработки Delphi 7.0, в официальных документах Borland стала использовать название Delphi для обозначения языка Object Pascal. Начиная с 2007 года уже язык Delphi (производный от Object Pascal) начал жить своей самостоятельной жизнью и претерпевал различные изменения, связанные с современными тенденциями (например, с развитием платформы .NET) развития языков программирования: появились class helpers, перегрузки операторов и другое.
Delphi оказал огромное влияние на создание концепции языка C# для платформы .NET. Многие его элементы и концептуальные решения вошли в состав С#. Одной из причин называют переход Андерса Хейлсберга, одного из ведущих разработчиков Дельфи, из компании Borland Ltd. в Microsoft Corp.
В марте 2006 года компания Borland приняла решение о прекращении дальнейшего совершенствования интегрированных сред разработки JBuilder, Delphi и C++ Builder по причине убыточности этого направления. Планировалась продажа IDE-сектора компании. Группа сторонников свободного программного обеспечения организовала сбор средств для покупки у Borland прав на среду разработки и компилятор.
Однако в ноябре того же года было принято решение отказаться от продажи IDE бизнеса. Тем не менее, разработкой IDE продуктов теперь будет заниматься новая компания - CodeGear, которая будет финансово полностью подконтрольна Borland.
В августе 2006 года Borland выпустил облегченную версию RAD Studio под именем Turbo: Turbo Delphi (для Win32 и .NET), Turbo C#, Turbo C++.
В марте 2007 года CodeGear порадовала пользователей обновленной линейкой продуктов Delphi 2007 for Win32 и выходом совершенно нового продукта Delphi 2007 for PHP.
2 СПЕЦИАЛЬНАЯ ЧАСТЬ
2.1 Общая постановка задачи
Тема: Игровая программа "Кто хочет стать миллионером?".
Игравая программа будет представлять собой аналог телешоу "Кто хочет стать миллионером?" . Необходимо сделать чтоб на экране монитора появлялись вопросы, генерируемые компьютером из базы данных методом случайных чисел. Каждый вопрос должен иметь четыре варианта ответа, только один из которых правильный. Пятый и десятый вопросы будут являются несгораемыми уровнями. Ответив на такой вопрос игрок уже ни при каких обстоятельствах не теряет суммы выигрыша, соответствующей несгораемой линии. Уровень сложности вопросов последовательно будет расти от первого вопроса к пятнадцатому. Соответственно будет расти и сумма выигрыша: от 100 до 1 000 000 очков.
2.2 Описание программ комплекса
Unit1 - редактор вопросов
Использует модули: Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, DBCtrls, StdCtrls, ComCtrls, Grids, DBGrids.
Unit2 - дата модуль
Использует модули: SysUtils, Classes, DB, ADODB
Состоит из процедур:
DataModuleCreate - открывает две таблицы из БД.
DataModuleDestroy - закрывает две таблицы из БД.
Unit3 - игра
Использует модули: Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, DBCtrls, ComCtrls, Buttons
Состоит из процедур:
FormActivate - фильтрует и выводит наугад вопрос.
DBText1Click - выбирает один вариант ответа.
DBText1MouseMove - изменение цвета текста и цвета фона компонента.
DBText2MouseMove - изменение цвета текста и цвета фона компонента.
DBText3MouseMove - изменение цвета текста и цвета фона компонента.
DBText4MouseMove - изменение цвета текста и цвета фона компонента.
Image2MouseMove - возвращает цвет текста и цвет фона DBText компонентов.
Image6Click - подсказка 50 на 50.
SpeedButton2MouseMove - изменение цвета текста и размера шрифта
кнопки.
SpeedButton2Click - открывает главное меню и обнуляет счетчики.
SpeedButton1MouseMove - изменение цвета текста и размера шрифта кнопки.
Image9Click - подсказка звонок другу.
Timer1Timer - счетчик времени.
FormCreate - двойная буферизация, для снятия эффекта мерцания.
Image10Click - подсказка помощь зала.
FormClose - закрывает программу полностью.
Unit4 - конец игры
Использует модули: Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls
Состоит из процедур:
SpeedButton1Click - начинает новую игру
SpeedButton2Click - выходит в главное меню
SpeedButton3Click - выходит из игры
SpeedButton1MouseMove - изменение цвета текста и размера шрифта кнопки.
SpeedButton2MouseMove - изменение цвета текста и размера шрифта кнопки.
SpeedButton3MouseMove - изменение цвета текста и размера шрифта кнопки.
Image1MouseMove - возвращает цвет текста и размер шрифта компонентов SpeedButton.
FormClose - закрывает полностью программу.
Unit5 - главное меню
Использует модули: Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, Buttons, jpeg
Состоит из процедур:
SpeedButton11Click - начинает новую игру.
SpeedButton22Click - выход из игры.
SpeedButton2Click - открывает таблицу рекордов.
SpeedButton3Click - открывает настройки игры.
SpeedButton11MouseMove - изменение цвета текста и размера шрифта кнопки. SpeedButton22MouseMove - изменение цвета текста и размера шрифта кнопки.
SpeedButton2MouseMove - изменение цвета текста и размера шрифта кнопки.
SpeedButton3MouseMove - изменение цвета текста и размера шрифта кнопки.
Image1MouseMove - возвращает цвет текста и размер шрифта компонентов SpeedButton.
FormClose - закрывает полностью программу.
Unit6 - окно рекордов
Использует модули: Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DBCtrls, Grids, DBGrids, ExtCtrls
Состоит из процедур:
FormClose - возвращается в главное меню.
Unit7 - окно регистрации имени
Использует модули: Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Buttons, StdCtrls
Состоит из процедур:
SpeedButton1MouseMove - изменение цвета текста и размера шрифта кнопки.
FormMouseMove - возвращает цвет текста и размер шрифта кнопки.
SpeedButton1Click - запись имени в рекорды.
FormClose - закрывает полностью программу.
Unit8 - окно настроек
Использует модули: Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons
Состоит из процедур:
SpeedButton1Click - изменения языка в программе.
SpeedButton2Click - изменения языка в программе.
SpeedButton3Click - изменение сложности игры.
SpeedButton4Click - изменение сложности игры.
SpeedButton5Click - изменение сложности игры.
FormClose - закрывает полностью программу.
Unit9 - окно победы
Использует модули: Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons
Состоит из процедур:
SpeedButton1Click - открывает окно регистрации игрока.
SpeedButton1MouseMove - изменение цвета текста и размера шрифта кнопки.
FormMouseMove - возвращает цвет текста и размер шрифта кнопки.
FormClose - закрывает полностью программу.
2.3 Макро блок-схема (см. рис. 2.1)
Рисунок 2.1 - Макро блок-схема комплекса
2.4 Таблица идентификаторов комплекса
Таблица идентификаторов комплекса (см. таб. 2.4)
Таблица 2.4 Таблица идентификаторов комплекса
ИдентификаторТип данныхЗначениеkintegerОтвечает за уровень сложности вопросаx,y,zintegerУровень сложности для подсказки
2.5Описание набора данных
Программа обращается к файлам:
Картинки: Меню.jpg, 50х50.bmp, 50х50.2.bmp, Help.bmp, Help2.bmp, Phone.bmp, Phone2.bmp, Table.bmp, Игра.bmp, Таблица рекордов.bmp, Конец игры.bmp, Кнопка.bmp, Кнопка2.bmp, Кнопка4.bmp.
Базы данных: База.mdb.
2.6 Структура записей файлов
Структура записей файлов (см. рис. 2.2)
Рисунок 2.2 - Блок схема записей файлов
2.7Постановка проблемной процедуры
В программе проблемной процедурой является Unit3, то есть ход игры.
2.7.1Описание проблемной программы {При закрытии формы, закрывается главная форма}
procedure TMillionaire.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
MainMenu.Close;
end;
{Подсказка 50х50}
procedure TMillionaire.Image6Click(Sender: TObject);
begin
x:=x+1;
if(DataModule2.Tvopros['Верно']=1)or (DataModule2.Tvopros['Верно']=3)
then
begin
DBText2.Visible:=False;
DBText4.Visible:=False;
end;
if(DataModule2.Tvopros['Верно']=2)or (DataModule2.Tvopros['Верно']=4)
then
begin
DBText1.Visible:=False;
DBText3.Visible:=False;
end;
Image6.Picture:=Image11.Picture;
Image6.Enabled:=False;
Edit1.Visible:=False;
Edit2.Visible:=False;
end;
{Подсказка Звонок другу}
procedure TMillionaire.Image9Click(Sender: TObject);
begin
y:=y+1;
if (DataModule2.Tvopros['Верно']=1)
then Edit1.Text:=Edit1.Text+DBText1.Caption;
if (DataModule2.Tvopros['Верно']=2)
then Edit1.Text:=Edit1.Text+DBText2.Caption;
if (DataModule2.Tvopros['Верно']=3)
then Edit1.Text:=Edit1.Text+DBText3.Caption;
if (DataModule2.Tvopros['Верно']=4)
then Edit1.Text:=Edit1.Text+DBText4.Caption;
Image9.Picture:=Image14.Picture;
Image9.Enabled:=False;
Edit1.Visible:=True;
Edit2.Visible:=False;
end;
{Подсказка Помощь зала}
procedure TMillionaire.Image10Click(Sender: TObject);
begin
z:=z+1;
if (DataModule2.Tvopros['Верно']=1)
then Edit2.Text:=Edit2.Text+DBText1.Caption;
if (DataModule2.Tvopros['Верно']=2)
then Edit2.Text:=Edit2.Text+DBText2.Caption;
if (DataModule2.Tvopros['Верно']=3)
then Edit2.Text:=Edit2.Text+DBText3.Caption;
if (DataModule2.Tvopros['Верно']=4)
then Edit2.Text:=Edit2.Text+DBText4.Caption;
Image10.Picture:=Image15.Picture;
Image10.Enabled:=False;
Edit1.Visible:=False;
end;
{Двойная буферизация, для снятия эффекта мерцания}
procedure TMillionaire.FormCreate(Sender: TObject);
begin
DoubleBuffered:=True;
end;
{Таймер считает время игры}
procedure TMillionaire.Timer1Timer(Sender: TObject);
begin
Label1.Caption:=IntToStr(StrToInt(Label1.Caption)+1);
end;
{Выход в главное меню, сброс переменных}
procedureTMillionaire.SpeedButton3Click(Sender: TObject);
begin
MainMenu.Show;
Millionaire.Hide;
k:=0; x:=0; y:=0; z:=0;
Shape1.Top:=464;
end;
{Фильтрация сложности}
procedure TMillionaire.FormActivate(Sender: TObject);
begin
randomize;
if k=0
then DataModule2.Tvopros.Filter:='Сложность=1';
if k=1
then DataModule2.Tvopros.Filter:='Сложность=2';
if k=2
then DataModule2.Tvopros.Filter:='Сложность=3';
if k=3
then DataModule2.Tvopros.Filter:='Сложность=4';
if k=4
then DataModule2.Tvopros.Filter:='Сложность=5';
if k=5
then DataModule2.Tvopros.Filter:='Сложность=6';
if k=6
then DataModule2.Tvopros.Filter:='Сложность=7';
if k=7
then DataModule2.Tvopros.Filter:='Сложность=8';
if k=8
then DataModule2.Tvopros.Filter:='Сложность=9';
if k=9
then DataModule2.Tvopros.Filter:='Сложность=10';
if k=10
then DataModule2.Tvopros.Filter:='Сложность=11';
if k=11
then DataModule2.Tvopros.Filter:='Сложность=12';
if k=12
then DataModule2.Tvopros.Filter:='Сложность=13';
if k=13
then DataModule2.Tvopros.Filter:='Сложность=14';
if k=14
then DataModule2.Tvopros.Filter:='Сложность=15';
DataModule2.Tvopros.Filtered:=True;
DataModule2.Tvopros.RecNo:=random(DataModule2.Tvopros.RecordCount)+1;
end;
{Выбор ответа}
procedure TMillionaire.DBText1Click(Sender: TObject);
begin
if (Sender=DBText1)and (DataModule2.Tvopros['Верно']=1)or
(Sender=DBText2) and (DataModule2.Tvopros['Верно']=2)or
(Sender=DBText3) and (DataModule2.Tvopros['Верно']=3)or
(Sender=DBText4) and (DataModule2.Tvopros['Верно']=4)
then
begin
label2.Caption:='Верно';
k:=k+1;
end
else
begin
label2.Caption:='Нет';
k:=0; x:=0; y:=0; z:=0;
if k=0
then Shape1.Top:=464;
end;
Millionaire.Activate;
end;
2.7.2Блок-схема проблемной процедуры
Блок-схема проблемной процедуры (см. рис. 2.3)
Блок-схема проблемной процедуры (продолжение) Рис. 2.4
Блок-схема проблемной процедуры (продолжение) Рис. 2.5
Блок-схема проблемной процедуры (продолжение) Рис. 2.6
2 Организация производства
3.1 Комплекс технических средств, необходимый для решения задачи
* Операционная система: Windows 98/ME/2000/XP/Vista/7/8
* Процессор: Intel Pentium 3 (R) CPU 1,6 GHz
* Память: 15 МБ
* Физ. память: Не менее 112 МБ
* Контроллер: клавиатура и мышь.
* Оптический привод: CD-R
3.2 Инструкция пользователю по работе с программой
Чтобы начать работу необходимо открыть папку "Курсовая работа", в которой находятся сама программа "Project1.exe" (см. рис. 3.7).
Рисунок 3.7 - папка "Курсовая работа"
Чтобы начать игру необходимо нажать на кнопку "Новая игра" (см. рис. 3.8).
Рисунок 3.8 - меню игры
После нажатия кнопки "Новая игра" открывается форма игры (см. рис. 3.9).
Рисунок 3.9 - Игра
Чтобы просмотреть таблицу рекордов нужно нажать на кнопку "Таблица Рекордов" в главном меню игры (см. рис. 3.10).
Рисунок 3.10 - Таблица рекордов
Для перехода в меню настроек, необходимо нажать кнопку "Настройки" (см. рис. 3.11).
Рисунок 3.11 - кнопка "Настройки"
Можно настроить программу для себя (см. рис. 3.12).
Рисунок 3.12 - Настройки
Для выхода из игры нужно нажать на кнопку "Выход" (см. рис. 3.13).
Рисунок 3.13 - Выход
ЗАКЛЮЧЕНИЕ
Целю, курсового проекта являлось: разработать игровую программу, которая будет представлять собой аналог телешоу "Кто хочет стать миллионером?". Необходимо было сделать чтоб на экране монитора появлялись вопросы, генерируемые компьютером из базы данных методом случайных чисел. И каждый вопрос должен был иметь четыре варианта ответа, только один из которых правильный.
Была разработана игровая программа "Кто хочет стать миллионером?" и выполнены все поставленные задачи. Было получено много основных, а также дополнительных знаний относительно самого языка программирования Delphi. Сюда входят знания пользования самой средой программирования, элементами среды программирования: затронутые в процессе выполнения, а также процедуры и функции. Согласно разработанному алгоритму была составлена и отлажена программа на алгоритмическом языке программирования Delphi. В ходе разработки программы проводилось ее тестирование и отладка на тестовых наборах. Для написанной программы разработана инструкция оператора с указанием порядка выполняемых действий. СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1. Фаронов В.В. Программирование баз данных в Delphi 7. Учебный курс. - СПб: Питер, 2006. - 459с
2. www.delphisources.ru/
3. Хузятов Ш. Ш. Delphi 7. Основные компоненты и элементы языка программирования г. Набережные Челны: издательство КамПИ, 2005г. - 116 с.;
4. Стивенс Р.А. Delphi. Готовые алгоритмы. г. Москва: издательство "ДМК пресс", 2001 г. - 384 с.;
5. ru.wikipedia.org/‎
6. Архангельский А. Я. Программирование в Delphi г. Москва: издательство "Бином", 2005г. - 332 с.;
7. www.google. com/imghp?hl=ru
1
Документ
Категория
Рефераты
Просмотров
41
Размер файла
1 540 Кб
Теги
курсоваянурхановотчет
1/--страниц
Пожаловаться на содержимое документа