Смекни!
smekni.com

Игра Кости (стр. 2 из 6)

Bank:=bank+4*st

Да

Да

Bank:=bank+st

Bank:=bank-st

Рис.4. Определение проигрыша или выигрыша ставки (блок 3).

Определение победы или поражения в игре осуществляется путём сравнения количества очков в банке игрока с нолём и тысячей. Если количество очков равно 0 игрок проиграл. Он может начать заново или уйти побежденным. Если количество очков больше или равно 1000 игрок победил, о чём сообщает диалоговое окно.

Да

Да

Рис.5. Определение победы или поражения в игре (блок 4).

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

В данной программе предусматривается использование следующих входных данных: пути к AVI-файлам, число, загаданное игроком, ставка. Данные число и ставка с помощью функции StrToint() вносятся в переменные chislo и st (типа byte) соответственно. Входные данные - пути к файлам, присваиваются свойству FileName медиаплееров. Выходная данная – отображение текущего количества очков в банке игрока. Очки отображаются в виде строки, чтобы преобразовать число в строку использовалась функция IntTostr.

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

Для решения данной задачи целесообразно применить интегральную среду разработки программ – Delphi 5. Среда Delphi позволяет достаточно быстро разрабатывать приложения для Windows. Возможностей Delphi в визуальном оформлении окон программ с избытком достаточно для создания игры «Кости». Для полноценной работы Delphi 5 достаточно:

Pentium 100;

ОЗУ – не менее 8 Мб;

Жесткий диск не менее 500 Мб;

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

При разработке данной программы использовались материалы: рабочего учебника – Юнита №5 Лабзина Т.А.. Система программирования Delphi. Москва 2001; Самоучителя – Основы программирования в Delphi7 Никита Культин Санкт-Петербург 2003.

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

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

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

Aboutbox 1 – окно справки (о программе).

Aboutbox 2 – правила игры.

Aboutbox 3– ввод пути к AVI-файлам. (main form)

Aboutbox 4 – сообщение об ошибке ввода пути к AVI-файлам.

Form 1 – основное окно программы (игровое поле).

Окно form1. Основное окно программы (игровое поле).

1

2

3

4 17

5

6 16

7 15

8 14

9 10 11 12 13

Компонент Form1.

Свойства:

Bordericons (biMaximize) – False.

BorderStyle – bsSingle;

Caption – Кости;

Color – clTeal;

Position – poDesktopCenter;

Visible – False;

События:

OnActivate – присваиваются начальные значения.

OnClose – запрос подтверждения на выход.

OnMouseMove – для красивого оформления компонентам присваиваются следующие значения:

button1.Default:=false;

button2.Default:=false;

button3.Default:=false;

button4.Default:=false;

edit1.Color:=clwindow;

edit2.color:=clwindow;

1 – компонент MainMenu (класс TMainMenu)

Свойства:

Items

Меню(N1) Справка(N2)

Играть(N3) Правила(N7) – ShortCut – F1.

Заново(N4) О программе(N8) – ShortCut – F2

Выход(N6)

Свойство Caption N6 (меняется во время выполнения программы).

Свойство Enabled N3 (меняется во время выполнения программы).

События: нет.

2 – Компонент Label1 (класс TLabel)

Свойства:

Caption – Введите число;

Font – жирный, размер 10;

События: нет.

3 – Компонент Edit1. (класс TEdit)

Свойства:

Hint – Число от 2 до 12;

MaxLength – 2 (значение меняется во время выполнения программы);

События:

OnKeyPress – защита от ввода недопустимых символов.

OnMouseMove – для красивого оформления. Свойству Color присваивается – clyellow.

4 – Компонент Label2 (класс TLabel)

Свойства:

Caption – Сделайте ставку;

Font – жирный, размер 10;

События: нет.

5 – Компонент Label3 (класс TLabel)

Свойства:

Caption – Банк;

Font – жирный, размер 10;

События: нет.

6 – Компонент L4 (класс TLabel)

Свойства:

Caption – 100 (меняется во время выполнения программы);

Font – жирный, размер 10, цвет красный;

Name – L4;

События: нет.

7 – Компонент Edit2 (класс TEdit)

Свойства:

Hint – Не ставьте больше чем в банке;

MaxLength – 3;

События:

OnKeyPress – защита от ввода недопустимых символов.

OnMouseMove – для красивого оформления. Свойству Color присваивается – clred;

8 – Компонент Button2 (класс TButton)

Свойства:

Caption – Заново;

Cursor – crHandPoint;

Font – жирный, размер 10;

Hint – Начать сначала;

События:

OnClick – присваиваются начальные значения (игра начинается заново);

OnMouseMove – для красивого оформления. Свойству Default присваивается значение True;

9 – Компонент Button3 (класс TButton)

Свойства:

Caption – Выход;

Cursor – crHandPoint;

Font – жирный, размер 10;

Hint – Exit;

События:

OnClick – Вызывается процедура закрытия формы;

OnMouseMove – для красивого оформления. Свойству Default присваивается значение True;

10 – Компонент Button1 (класс TButton)

Свойства:

Caption – Играть;

Cursor – crHandPoint;

Font – жирный, размер 10;

Hint – Бросить кости;

События:

OnClick – Проверяется правильность ввода числа и ставки, воспроизводятся AVI-фалы, генерируются случайные числа, выводится графическое изображение кубиков, определяется проигрыш или выигрыш ставки, определяется проигрыш или выигрыш в игре.;

OnMouseMove – для красивого оформления. Свойству Default присваивается значение True;

11 – Компонент Mp1 (класс TmediaPlayer)

Свойства:

Display – Panel2;

Name – Mp1;

Visible – False;

События: нет.

12 – Компонент L5 (класс TLabel)

Свойства:

Caption – (меняется во время выполнения программы);

Font – жирный, размер 10, цвет красный;

Name – L5;

События: нет.

13 – Компонент Mp2 (класс TmediaPlayer)

Свойства:

Display – Panel1;

Name – Mp2;

Visible – False;

События: нет.

14 – Компонент Button4 (класс TButton)

Свойства:

Caption – Играть;

Cursor – crHandPoint;

Font – жирный, размер 10;

Hint – Всё на кон.

События:

OnClick – Выполняется оператор присваивания: edit2.Text:=l4.Caption; Все очки ставятся на кон

OnMouseMove – для красивого оформления. Свойству Default присваивается значение True;

15 – Компонент Panel1 (класс TPanel)

Свойства:

Caption – ;

Height – 105;

Width – 105;

События: нет.

16 – Компонент Panel2 (класс TPanel)

Свойства:

Caption – ;

Height – 105;

Width – 105;

События: нет.

17 – Компонент Label4 (класс TLabel)

Свойства:

Caption – Выпавшие кости;

Font – жирный, размер 14;

События: нет.

Также на форме присутствуют компоненты:

TImage1 и TImage2 (закрыты компонентами TPanel1 и TPanel2 соответственно)

Свойства:

Height – 105;

Width – 105

Visible – меняется во время выполнения программы.

Panel3 – Panel9 эти компоненты не оказывают влияния на ход выполнения программы. Они лишь служат своеобразным орнаментом. Изменённые свойства – размер и цвет.

Окно AboutBox1 – окно справки (о программе).

1

2

3

4

5

6 7

Компонент AboutBox1.

Свойства:

Caption – О программе;

Color – clHighlight;

Name – AboutBox1;

Position – poMainFormCenter;

События: нет

1 – Компонент L1 (класс TLabel)

Свойства:

Caption - (меняется программно);

Font – размер 10, подчеркнутый, цвет темно-синий;

ParentColor – True;

События: нет;

2 – Компонент Image (класс TImage)

Свойства:

Изменённых свойств нет (только загружена картинка);

События: нет.

3 – Компонент Label1 (класс TLabel)

Свойства:

Caption – Среда разработки ------ Delphi 5;

Font – размер 10, подчеркнутый, цвет темно-синий;

ParentColor – True;

События: нет.

4 – Компонент Label2 (класс TLabel)

Свойства:

Caption – Цифровая подпись отсутствует;

Font – размер 10, подчеркнутый, цвет темно-синий;

ParentColor – True;

События: нет.

5 – Компонент Label3 (класс TLabel)

Свойства:

Caption – Версия -------- 1.1;

Font – размер 10, подчеркнутый, цвет темно-синий;

ParentColor – True;

События: нет.

6 – Компонент OkButton (класс TButton)

Свойства:

Изменены размеры.

События: нет

7 – Компонент Panel1 (класс TPanel)

Свойства:

Color – clSilver;

События: нет

Окно AboutBox2 – окно правила игры.

1 8 7

2

3 6

4 5

Компонент AboutBox2

Свойства:

Bordericons (biSystemmenu) – False.

Caption – Правила игры;

Color – clHighlight;

Name – AboutBox2;

Position – poMainFormCenter;

События:

OnActivate – Для красоты выводим картинку, также выводим информацию (правила игры).

OnMouseMove – Вызываем процедуру FormActivate, чтобы вернуть первоначальный вид окну после события OnMouseMove на кнопке OK.

1 – Компонент Lab2 (класс TLabel)

Свойства:

Caption – (меняется во время работы программы);

Font – размер 10;

Name – lab2;

ParentColor – True;

События: нет;

2 – Компонент Image (класс TImage);

Свойства:

Height – 73;

Width – 73;

События: нет;

3 – Компонент Lab1 (класс TLabel)

Свойства:

Caption – Удачи!!!;

Font – размер 40, цвет красный;

Name – lab1;

ParentColor – True;

Visible – False (меняется во время работы программы);

События: нет;

4 – Компонент OkButton (класс Tbutton)

Свойства:

Из всех свойств изменены только размеры.

События:

OnMouseMove – изменяем внешний вид окна, желаем удачи игроку.

5 – Компонент Lab4 (класс TLabel)

Свойства:

Caption – Выиграть;

Font – размер 12, цвет травяной;

Name – lab4;

ParentColor – True;

Visible – False (меняется во время работы программы);

События: нет;

6 – Компонент Image1 (класс TImage);

Свойства:

Height – 105;

Visible – False (меняется во время работы программы);

Width – 105;

События: нет;

7 – Компонент Lab3 (класс TLabel)

Свойства:

Caption – Попробуй;

Font – жирный, размер 12, цвет желтый;

Name – lab3;

ParentColor – True;

Visible – False (меняется во время работы программы);

События: нет;

8 – Компонент Panel (класс TPanel)

Свойства:

Caption - ;

Color – clScrollBar;

События: нет.

Окно Aboutbox 3– ввод пути к AVI-файлам. (main form)

1 19

18

2

3 17

4 5 16

6

7 15

8

9 14

10

13

11

12

Компонент AboutBox3

Свойства:

Bordericons (biSystemmenu) – False.

BorderStyle – bsSingle;

Caption – Information;

Color – clGray;

Name – AboutBox3;

Position – poDesktopCenter;