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.