Смекни!
smekni.com

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

if strtoint(l4.caption)>=1000 then

// С помощью диалогового окна с одной кнопкой

// выводим сообщение о победе в игре.

begin

messagedlg(' Вы обанкротили казино!!!'+#13+

'Вы можете начать заново.',mtcustom,[mbok],0);

// Свойству "доступность" кнопки и пункту меню 'Играть'

// присваеваем значение False.

n3.Enabled:=false;

button1.Enabled:=false;

end;

// Если кол-во очей в банке игрока равно 0, игрок проиграл.

// Заметим, что кол-во очей в банке не может быть отрицательным,

// т.к. игрок не может поставить больше чем есть в банке,

// поэтому не используем знак '<='.

if strtoint(l4.caption)=0 then

// выводим сообщение о поражении в игре.

begin

messagedlg(' Вы банкрот.'+#13+

' Начните заново или уходите побеждённым',mtcustom,[mbok],0);

// Свойству "доступность" кнопки и пункту меню 'Играть'

// присваеваем значение False.

n3.Enabled:=false;

button1.Enabled:=false;

// Для пробуждения азарта у игрока свойству Caption кнопки и

// пункту меню 'Выход' присваеваем не поднимающее дух выражение.

n6.Caption:='Уйти побеждённым';

button3.Caption:=' Уйти побеждённым';

end;

edit1.SetFocus;

end;

{=========================================================}

procedure TForm1.FormActivate(Sender: TObject);

// Операторы, которые выполняет программа при активации формы.

begin

// "прячем" компоненты (экраны) для вывода AVI-файлов.

panel1.Visible:=false;

panel2.Visible:=false;

// Создаём битовый образ.

baks:=tbitmap.Create;

// Загружаем картинку из файла ресурсов.

baks.LoadFromResourceName(hinstance,'baks');

// Для красивого оформления в компоненты для вывода иллюстраций, пока,

// до хода игрока, выводим рисунок.

image1.Canvas.Draw(0,0,baks);

image2.Canvas.Draw(0,0,baks);

// В метку для вывода сообщений о выигрыше или проигрыше выводим пожелание.

l5.Caption:=' Удачи!!!';

// Т.к. во время выполнения меняются надписи на кнопке и пункте меню

//'Выход', и в дальнейшем нам пригодится эта процедура присвоим

//"нормальные" надписи.

button3.Caption:='Выход';

n6.Caption:='Выход';

// По той же причине

n3.Enabled:=true;

button1.Enabled:=true;

// Присвоим нулевые значения полям для ввода числа и ставки

// и стартовое значение величены очей.

edit1.Text:='';

edit2.Text:='';

l4.Caption:='100';

end;

procedure TForm1.Button2Click(Sender: TObject);

// Клик на кнопке 'Заново'.

begin

// Необходимо начать игру с начала для этого просто вызовем процедуру:

FormActivate(Sender)

end;

procedure TForm1.Button4Click(Sender: TObject);

// Клик на кнопке 'Ва-банк'.

begin

// Все очки банка заносим в поле для ввода ставки.

edit2.Text:=l4.Caption;

end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);

// Операторы которые выполняются при попытке закрыть приложение.

begin

// Стандартное Windows-кое окно с двумя кнопками (надписи на русском).

if MessageBox(Form1.Handle,

PChar('Хотите выйти?'),

PChar('КОСТИ'), 4)=mrYes then

// Клик на кнопке 'Да'

begin

// Параметру процедуры FormClose присваемваем значение cafree

// (освободить) закрыть.

action:=cafree;

// Нельзя забыть про спрятавшееся окно Aboutbox2

// если его не закрыть "от него" не освободится оперативная память.

aboutbox3.close;

end

else

// Иначе (клик на кнопке 'нет')

// Параметру процедуры FormClose присваемваем значение canone

// ничего не делать.

action:=canone;

end;

procedure TForm1.Button3Click(Sender: TObject);

// Клик на кнопке 'Выход'.

begin

// Вызываем процедуру закрытия формы.

close

end;

procedure TForm1.N6Click(Sender: TObject);

// Клик на пункте меню 'Выход'.

begin

// Вызываем процедуру закрытия формы.

close

end;

procedure TForm1.N3Click(Sender: TObject);

// Клик на пункте меню 'Играть'

// Дублирует кнопку 'Играть'.

begin

// Вызываем процедуру обработки события Onclick кнопки 'Играть'.

button1.Click

end;

procedure TForm1.N4Click(Sender: TObject);

// Клик на пункте меню 'Заново'

// Дублирует кнопку 'Заново'.

begin

// Вызываем процедуру обработки события Onclick кнопки 'Заново'.

button2.Click

end;

//////////////////////////////////////////////////////////////////////////////////////////////////////////////

// Следующие процедуры обрабатывают события MouseMove на разных компонентах,

// и для красивого оформления меняют их внешний вид.

procedure TForm1.Button1MouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

begin

button1.Default:=true;

end;

procedure TForm1.Button2MouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

begin

Button2.Default:=true;

end;

procedure TForm1.Button3MouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

begin

Button3.Default:=true;

end;

procedure TForm1.Button4MouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

begin

Button4.Default:=true;

end;

procedure TForm1.Edit1MouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

begin

edit1.Color:=clyellow;

end;

procedure TForm1.Edit2MouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

begin

edit2.Color:=clred;

end;

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

// Движение указателя мыши на форме возвращает внешний вид компонентов.

begin

button1.Default:=false;

button2.Default:=false;

button3.Default:=false;

button4.Default:=false;

edit1.Color:=clwindow;

edit2.color:=clwindow;

end;

end.

1 Macromedia Flash MX Professional 2004 - это интегрированная среда разработки

управляемых данными приложений, интерактивных презентаций и видеоматериалов

1 Такого неудобства для пользователя, как ввод пути к AVI-файлам, можно легко избежать с помощью программы создания установочных дисков, например - InstallShield Express. Но это выходит за рамки этого курсового проекта.

1 Культин Н. Основы программирования в Delphi 7; издательство БХВ-Петербург, 2003 г. Страница 1.