Вид работы | Курсовая работа |
Название дисциплины | Программирование на языке высокого уровня |
Тема | Разработайте программу, моделирующую игру «Кости» |
1 Разработка эскизного и технического проектов программы (ГОСТ 19.404-79)5
2 Разработка рабочего проекта. 8
Список использованных источников. 26
В связи с развитием информационно-коммуникационных технологий в последнее время резко возрос интерес к программированию. В данное время среди пользователей персональных компьютеров наиболее популярно семейство операционных систем Windows.
Несколько лет назад единственным средством разработки программ, работающих в среде Windows, был BorlandC++ forWindows, ориентированный на профессионалов, обладающих серьезными знаниями и опытом.
Бурное развитие вычислительной техники? Потребность в эффективных средствах разработки программного обеспечения привели к появлению систем программирования, ориентированных на “быструю разработку”, среди которых можно выделить BorlandDelphi и MicrosoftVisualBasic[6, с. 11]. В основе систем быстрой разработки лежит технология визуального проектирования и событийного программирования.
Delphi – это среда быстрой разработки, в которой в качестве языка программирования используется строго типизированный объектно-ориентированный язык Delphi, в основе которого лежит Object Pascal.
В настоящее время программистам стала доступна очередная версия пакета Delphi – Borland Delphi 7 Studio. Система Delphiпозволяет писать как крохотные программы и утилиты для персонального использования, так и корпоративные системы, работающие с базами данных на разных платформах, Интернет-решения и коммерческие игры, распределенный COM/CORBA/SOAP-приложения и всевозможные Web-службы. При этом обеспечивается совместимость приложений при выходе новых версий Delphi– как друг с другом на уровне исходных текстров, так и с модифицированными версиями стандартных протоколов и технологий благодаря библиотеке независимых и легко настраиваемых компонентов[3, с. 15].
Цель: Разработать программу, моделирующую игру “Кости”.
Смысл игры состоит в следующем. Играющий называет любое число в диапазоне от 2 до 12 и ставку, которую он делает в этот ход. Программа с помощью датчика случайных чисел дважды выбирает числа от 1 до 6 (“бросает кубик”, на гранях которого цифры от 1 до 6). Если сумма выпавших цифр меньше 7 и играющий задумал число меньшее 7, он выигрывает сделанную ставку. Если сумма выпавших цифр больше 7 и играющий задумал число большее 7, он также выигрывает сделанную ставку. Если играющий угадал сумму цифр, он получает в четыре раза больше очков, чем сделанная ставка. Ставка проиграна, если не имеет место ни одна из описанных ситуаций. В начальный момент у играющего 100 очков. В программе должно присутствовать графическое изображение поверхности кубика при каждом ходе игрока.
1.1. Назначение и область применения
Область применения: досуг пользователя. Программа представляет собой модулятор игры «Кости», которая помогает пользователю оторваться от текущих дел и передохнуть, не отходя от персонального компьютера. Программа проста в применении. Данная программа полноценно функционирует только под управлением Windows 9x/Me/NT/2000/XP.
1.2. Постановка задачи и разработка алгоритма решения задачи
Если сумма выпавших цифр меньше 7 и играющий задумал число меньшее 7, он выигрывает сделанную ставку. Если сумма выпавших цифр больше 7 и играющий задумал число большее 7, он также выигрывает сделанную ставку. Если играющий угадал сумму цифр, он получает в четыре раза больше очков, чем сделанная ставка (рис.1. Приложение А).
Условие задачи игры «Кости» указывает на необходимость называть любое число в диапазоне от 2 до 12. Программа с помощью датчика случайных чисел дважды выбирает числа от 1 до 6. В соответствии с рисунком 1 представлено главное окно программы.
Рисунок 1. Главное окно программы.
1.2.2 Описание алгоритма
В программе решаются такие задачи как:
1.Задаем сумму выпавших кубиков.
2. Заполняем список ставок.
3. Выбор граней кубиков с помощью датчика случайных чисел.
4.Ввывод на экран результата позиции.
Схему алгоритма программы смотрите в приложении А.
1.2.3 Выбор состава технических и программных средств
Для разработки данной программы использовалась интегральная среда разработки Delphi 7[1].Среда Delphi 7 позволяет разрабатывать приложения для Windows. Технические характеристики компьютера Pentium 133 MHz, Ram 16 Mb, HDD 4.3 Gb. Именно эти параметры создают условия для полноценной работы IDEDelphi 7 и программ созданных в этой среде. Дополнительные средства не требуются.
2.1 Разработка программы
Для разработки приложения используется среда визуального программирования Delphi. В написание программы использовались компоненты из разделов Standard, Additional. Проект программы содержит одно окно Form1. В соответствии с рисунком 2 представлено главное окно программы.
Рисунок 2 - Главноеокнопрограммы.
1 – Form 1, 2 – MainMenu 1, 3 – Label 5, 4 – Label 7, 5 – Label 3, 6 – Label 4, 7 – Label 6, 8 – Label 1, 9 – Label 2, 10 – ComboBox 2, 11 – ComboBox 1, 12 – Image 1, 13 – Image 2, 14 – Image 3, 15 – BitBtn 1.
1 – компонент Form1:
Свойства:
Caption – Кости;
Border – bsSingle;
BiSystemMenu – False;
BiMinimaze – False;
BiMaximaze – False;
BiHelp – False;
Height – 374;
Width – 441.
2- компонентTMainMenu 1:
Свойства:
Items:
Файл (N1)
Новая игра (N2) Выход (N3)
События:
Для N1 - событие TMainMenu;
N3Click – закончить работу с приложением;
N2Click – перейти к работе с приложением;
3 – компонент Label5:
Свойства:
Caption – ‘Ваше число’;
Font - Times New Roman, 14, clWindowText.
4 – компонент Label7:
Свойства:
Caption – ‘Ваша ставка’;
Font - Times New Roman, 14, clWindowText.
5 – компонент Label 3:
Свойства:
Caption – ‘Ваши очки’;
Font - Times New Roman, 14, clWindowText.
6 – компонент Label 4:
Свойства:
Caption – ‘00’;
Font - Times New Roman, 14, clWindowText.
7 – компонент Label 6:
Свойства:
Caption – ‘Подтвердить ставку’;
Font - Times New Roman, 16, clRed.
8 – компонент Label 1:
Свойства:
Caption – ‘Сумма’;
Font - Times New Roman, 14, clWindowText.
9 – компонент Label 2:
Свойства:
Caption – ‘00’;
Font - Times New Roman, 14, clWindowText.
10 – компонентComboBox2:
Left – 16;
Top – 36;
Width – 113;
Height – 21;
Style – csDropDownList;
ItemHeight – 13;
TabOrder – 1.
11 – компонентComboBox1:
Свойства:
Left – 16;
Top – 100;
Width – 113;
Height – 21;
Style – csDropDownList;
ItemHeight – 13;
TabOrder – 0.
12 – компонентImage 1:
Свойства:
Height – 49;
Width – 49;
13 – компонентImage 2:
Свойства:
Height – 49;
Width – 49;
14 – компонент Image3:
Свойства:
Height – 321;
Width – 433;
15 – компонент BitBtn 1:
Свойства:
Glyph – (TBitmap);
Height – 121;
Width – 121.
События:
BitBtn1Click – событие одиночного щелчка по кнопке.
2.2 Спецификация программы
Исполняемый файл программы «Project1» имеет название Project1.exe.
Таблица 1.
Состав проекта.
Наименование | Обозначение | Примечание |
Project1.dof | Файл параметров проекта главной формы | Содержит текущие установки проекта, настройки компилятора и компоновщика, имена служебных каталогов, условные директивы |
Продолжение таблицы 1
Project1.res | Файл ресурсов главной формы | Содержит пиктограммы, графические изображения |
Unit1.pas | Файл программных модулей главной формы | Определяет функциональность форм |
Unit1.dfm | Файл программных модулей главной формы | Содержит графические характеристики модулейГлавного окна программы |
Unit.dcu | Объектный файл для Unit.pas | Откомпилированная версия Unit.pas |
2.3 Листингпрограммы
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, ExtCtrls, StdCtrls, Math, Buttons;
type
TForm1 = class(TForm)
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
Image1: TImage;
Image2: TImage;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
ComboBox1: TComboBox;
Label5: TLabel;
Label6: TLabel;
ComboBox2: TComboBox;
Label7: TLabel;
BitBtn1: TBitBtn;
N4: TMenuItem;
N5: TMenuItem;
Image3: TImage;
procedure N3Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure invisible_all(Sender: TObject);
procedure visible_all(Sender: TObject);
procedure Label6Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure N5Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
Ochki: longint;//переменная, отвечающая за очки игрока
implementation
{$R *.dfm}
procedure TForm1.N3Click(Sender: TObject);//кнопкавыход
begin
application.Terminate;//закрываемприложение
end;
procedure TForm1.N2Click(Sender: TObject);//новаяигра
var i:integer;
begin
image3.Visible:=false;
ochki:=100;//присваиваем переменной "ochki" количество начальных очков, по условию = 100
label2.Caption:='00';//задаём сумму выпавших кубиков = 0
label4.Caption:='100'; //задаём видимое количество очков
image1.Picture.LoadFromFile('p0.bmp');//задаём начальное изображение кубиков(пустое)