Разработка программы игры в "Кости"

 

Основные данные о работе

Версия шаблона2.1ФилиалНижегородскийВид работыКурсовая работаНазвание дисциплиныПрограммирование на языке высокого уровняТемаРазработать программу игры «в кости»Фамилия студентаМичасовИмя студентаДмитрийОтчество студентаСергеевич№ контракта09200090601031

Содержание


Введение

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

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

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

Заключение

Глоссарий

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

Приложения


Введение


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

Слово компьютер является производным от английских слов {to computet}}, computer, которые переводятся как «вычислять», «вычислитель» (английское слово, в свою очередь, происходит от латинского comput?r - «вычислить»). Первоначально в английском языке <#"24" src="doc_zip1.jpg" />

Рисунок 1 - грани кубиков.


Следует обратить внимание на то что объемность граней достигается двумя путями:

) нарисованные изображения имеют сложную цветовую насыщенность, за счет чего создается впечатление объемности;

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

Организация входных и выходных данных.

Входных данных у программы нет.

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

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

Программа занимает 1 мб. жесткого диска. Программа функционирует под ОС Win95 и выше. Разрешение экрана не менее 800*600@256. Обязателен манипулятор типа «Мышь».

Источники, использованные при разработке

При разработке использовалась литература по программированию, а также анализ характеристик программ - аналогов.

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

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

. Form1 - главное окно программы.

. FrmRules- окно, содержащее правила игры.

. AboutBox- окно, содержащее информацию о программе.


Окно Form1.


Для организации меню используется компонент tMainMenu. Текущий счет игры выводится в компонент tLabel. На панели (tPanel) находятся два поля ввода tSpinEdit, позволяющие вводить целые числа в нужном диапазоне. Кнопка "Бросить" (tBitBtn) запускает процесс игровой сессии.

Компонент tImageList представляет собой хранилище графических изображений одного размера. Кроме того, данный компонент инкапсулирует в себе набор методов по обработке графической информации. Например, в нем можно указать цвет, который будет считаться прозрачным при отображении.

Окно FrmRules


В данном окне находятся два компонента: tBitBtn и tRichEdit. TRichEdit позволяет хранить в себе текстовую информацию с форматированием.


Окно AboutBox


Данное окно является стандартным для Delphi и взято из депозитария.


В программе кроме сервисных функций только одна процедура. Она вызывается по нажатию кнопки "Бросить"

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

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


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

Программа написана на Delphi 6. Файлы проекта (Приложения А) представлены в таблице 1.


Таблица 1.

Имя файлаТип файлаОписаниеabout.dfmФайл формыО программеabout.pasФайл программного модуляKosti.cfgФайл конфигурации проектаКурсовая.docДокумент WordЭтот файлKosti.dofФайл параметров проектаKosti.dprФайл проектаKosti.dskФайл конфигурации проектаKosti.resФайл ресурсовMain.dfmФайл формыГлавная формаMain.pasФайл программного модуляrules.dfmФайл формыПравила игрыrules.pasФайл программного модуляRusDlg.pasФайл программного модуляРусифицированные диалоги

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


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

Модуль : about.pas Всего строк : 35

unit about;Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls,, ExtCtrls;= class(TForm): TPanel;: TImage;: TLabel;: TLabel;: TLabel;: TLabel;: TButton;: TLabel;: TLabel;: TLabel;: TLabel;

{ Private declarations }

{ Public declarations };: TAboutBox;

{$R *.dfm}.

Модуль : Kosti.dpr Всего строк : 18 Kosti;,in 'Main.pas' {Form1},in 'RusDlg.pas',in 'about.pas' {AboutBox},in 'rules.pas' {FrmRules};

{$R *.res}.Initialize;.CreateForm(TForm1, Form1);.CreateForm(TAboutBox, AboutBox);.CreateForm(TFrmRules, FrmRules);.Run;

end.

Модуль : Main.pas Всего строк : 150

unit Main;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, Menus, StdCtrls, Buttons, Spin, ExtCtrls, ImgList;= class(TForm): TMainMenu;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TLabel;: TPanel;: TLabel;: TSpinEdit;: TBitBtn;: TImageList;: TLabel;: TSpinEdit;: TBitBtn;GameNewClick(Sender: TObject);BitBtn1Click(Sender: TObject);FormCreate(Sender: TObject);FormPaint(Sender: TObject);HelpAboutClick(Sender: TObject);HelpRuleClick(Sender: TObject);GameExitClick(Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm1;:integer; : integer=-1; : integer=-1; rusdlg,about, rules;

{$R *.dfm}TForm1.GameNewClick(Sender: TObject);:= 100; .Caption :=format('Ваша сумма :%d',[Score]);.visible:=true; .MaxValue := 100;.Show; ;TForm1.BitBtn1Click(Sender: TObject);i:integer;not (SpinNumb.Value in [2..12]) then

begin('Число должно быть от 2 до 12');

exit;;Spin.Value <1 then

begin('Ставка должна быть больше 0');

exit;;Spin.Value > Score then

begin('Ставка должна быть меньше текущего счета');

exit;;i:=1 to 10 do :=random(6); :=random(6);(nil); (100); ;:=t1+t2+2; ((i<7) and (SpinNumb.Value<7)) ((i>7) and (SpinNumb.Value>7)) then('Вы выиграли!!'#13'Ставка %d'#13'Выигрыш %d',[Spin.value,Spin.value]);(Score,Spin.value);elsei=SpinNumb.Value then ('Вы выиграли!!'#13'Ставка %d'#13'Выигрыш %d',[Spin.value,Spin.value*4]);(Score,Spin.value*4); .Caption := IntToStr(Score);else('Вы Проигали!!'#13'Ставка %d',[Spin.value]);(Score,Spin.value);;.Caption :=format('Ваша сумма :%d',[Score]);

if score=0 then ('Вы проигали!!'#13'Остаток на счету - 0.');

t1:=-1;.Hide; .Hide;; ;.MaxValue := Score; spin.Value>score then Spin.Value := score;;TForm1.FormCreate(Sender: TObject);; ;TForm1.FormPaint(Sender: TObject);not Panel.Visible then exit;t1=-1 then exit; .Draw(canvas,75,50,t1); .Draw(canvas,155,50,t2); ;

TForm1.HelpAboutClick(Sender: TObject);.Show; ;TForm1.HelpRuleClick(Sender: TObject);.Show; ;TForm1.GameExitClick(Sender: TObject);; ;.

Модуль : rules.pas Всего строк : 35 rules;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls, Buttons, ComCtrls;= class(TForm): TRichEdit;: TBitBtn;FormCreate(Sender: TObject);

{ Private declarations }

{ Public declarations };: TFrmRules;

{$R *.dfm}TFrmRules.FormCreate(Sender: TObject);.SelStart:=0; .SelLength:=14;.SelAttributes.Size:=16; .SelAttributes.Style:=[fsBold];;.

Модуль : RusDlg.pas Всего строк : 50 RusDlg;forms,windows,SysUtils;Notify(Msg: string); overload;Notify(Msg: string; const Args: array of const); overload;Confirm(Msg: string): Boolean; overloadConfirm(Msg: string; const Args: array of const): Boolean; overload;Error(Msg: string); overload;Error(Msg: string; const Args: array of const);overload;CrError(Msg: string); Confirm(Msg: string): Boolean; overload;:= Application.MessageBox(PChar(Msg), 'Подтвердите', MB_ICONQUESTION or MB_YESNO) = IDYES;;Confirm(Msg: string; const Args: array of const): Boolean;overload;:= Confirm(format(msg,args));;Notify(Msg: string); overload;.MessageBox(PChar(Msg), 'Результат', MB_ICONINFORMATION or MB_OK);;Notify(Msg: string; const Args: array of const); overload;(format(msg,Args));;Error(Msg: string); overload;.MessageBox(PChar(Msg), 'Ошибка', MB_ICONERROR or MB_OK);;CrError(Msg: string);.MessageBox(PChar(Msg), 'Ошибка', MB_ICONERROR or MB_OK);;;Error(Msg: string; const Args: array of const); overload;(format(msg,Args));

end;.


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


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

Данная программа является игровой. Ее реализация имитирует игру в кости. Программа предназначена для релаксации персонала в нерабочее время.

Кости - одна из древнейших игр. Инструментом для игры являются кубики <#"270" src="doc_zip5.jpg" />

Рисунок 1 - начало игры.


После начала новой игры вид окна будет как показано на рисунке 2.

Рисунок 1 - В процессе игры.


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

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

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

Следующим этапом отладки является динамическое тестирование программы. В процессе такого тестирования проверяется исполнение программы, обработка исходных данных с учетом времени их поступления.

Внедрение игры

Область внедрения программы домашние и рабочие персональные компьютеры.

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

Минимальные требования: компьютер Pentium 166, 128 Mb оперативной памяти, 800 Кбайт свободного пространства на жестком диске, операционная система Windows 9x/NT/Me/2000/Xp, Windows совместимая мышь.



Заключение


Игра - основной вид деятельности ребёнка. С. Л. Рубинштейн <#"justify">№ п/пПонятиеОпределение1.Алгоритмточное предписание исполнителю совеpшить определенную последовательность действий для достижения поставленной цели за конечное число шагов.2.Исходный кодтекст программы на алгоритмическом языке. В компьютере исходный текст либо непосредственно выполняется интерпретатором, либо предварительно переводится компилятором в стандартный загрузочный код, способный многократно исполняться в определенной вычислительной среде.3.Константаэлемент данных, который занимает место в памяти, имеет имя и определенный тип, причем его значение никогда не меняется.4.Машинный языкязык программирования, элементами которого являются команды компьютера, характеризующиеся: - количеством операндов в команде; - назначением информации, задаваемой в операндах; - набором операций, которые может выполнить компьютер и др. Конструкции машинного языка интерпретируются непосредственно аппаратурой5.Переменная (англ.Variable)в языках программирования - именованная часть памяти, в которую могут помещаться разные значения переменной. Причем в каждый момент времени переменная имеет единственное значение. В процессе выполнения программы значение переменной может изменяться. Тип переменных определяется типом данных, которые они представляют6.Семантикасистема правил истолкования отдельных языковых конструкций. Семантика определяет смысловое значение предложений алгоритмического языка.7.СинтаксисОт греч.Syntaxis - порядок Синтаксис - набор правил построения фраз алгоритмического языка, позволяющий определить, осмысленные предложения в этом языке.8.Система программированияпрограммная система, предназначенная для разработки программ на конкретном языке программирования. Система программирования предоставляет пользователю специальные средства разработки программ: транслятор, (специальный) редактор текстов программ, библиотеки стандартных подпрограмм, программную документацию, отладчик и др.9.Язык высокого уровняязык программирования, понятия и структура которого удобны для восприятия человеком. Языки высокого уровня отражают потребности программиста, но не возможности системы обработки данных.10.Язык программированияискусственный (формальный) язык, предназначенный для записи алгоритмов. Язык программирования задается своим описанием и реализуется в виде специальной программы: компилятора или интерпретатора.


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


1.Лэнгсам Й., Огенстайн М., Тененбаум А. Структуры данных для персональных ЭВМ. - М.: Мир, 19892.Дайитбегов Д.М., Черноусов Е.А. Основы алгоритмизации и алгоритмические языки (второе издание). - М.: Финансы и статистика, 19923.В.Гофман, А.Хомоненко Delphi 5. Наиболее полное руководство. СПб, БХВ, 20004.В.В.Фаронов Delphi 5. Руководство программиста. - М., «Нолидж», 20015.Йодан Э. Структурное проектирование и конструирование программ. -, Мир, 19796.А.Я.Архангельский Delphi 5. - М., ЗАО «Издательство «Бином», 20017.А.Я.Архангельский Delphi 5. Справочное пособие. - М., ЗАО «Издательство «Бином», 20018.С.Бобровский Delphi 5. Учебный курс. - СПб, Изд. «Питер», 2000.9.Роб Баас, Марк Фервай, Хайдемария Гюнтер Delphi 5. Киев, БХВ-«Ирина» 2000.10.Фаронов В.В. Turbo Pascal 7.0. Учебное пособие. М.,Нолидж,199811.Фаронов В.В.Delphi 5. Учебный курс. М.,Нолидж,2000

Приложения

программа игра приложение

А1.


Основные данные о работе Версия шаблона2.1ФилиалНижегородскийВид работыКурсовая работаНазвание дисциплиныПрограммирование на языке высокого уровняТемаРазрабо

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ