Игра хороша, когда есть азарт. Его-то мы и добавим.
Цель: переоборудовать игру для игры на
деньги.
Идея: Дать возможность делать ставки.
Тотализатор будет работать следующим образом:
В начале игры у Вас есть 1000 долларов. Вы можете ставить любую сумму,
не большую, той, что у Вас есть, на любую лошадь (то есть лодку). Если
Ваша лодка приходит первой, то сумма, поставленная на лодку, увеличивается
в два раза. Если ваша лодка приходит второй, то Вам возвращаются деньги,
если же лодка приходит 3, 4 или 5-ой, то Ваши деньги пропадают.
Необходимо также предусмотреть, чтобы была возможность делать ставки
на любое количество лодок.
1. Откройте Delphi и загрузите проект игры с прошлого урока.
В любом тотализаторе есть возможность поставить не на одну, а на несколько
лошадей. У нас эта возможность тоже должна быть. Однако кнопки RadioButton
позволяют ставить только на одну лошадь (то есть лодку). Значит, долой
их.
2. Удалите все пять радиокнопок.
3. Вместо них поставьте 5 CheckBox-ов.
Они находятся на панели Standart.
4. Поставьте на форму компонент GroupBox2.
А в него поместите 5 компонентов Edit.
После данных манипуляций фрагмент данной формы должен быть похожий на
мою:
5. Свойства Text
всех компонентов Edit я изменил
на ----------, а сами свойство
Enabled:= False, чтобы отключить
их при начале игры.
6. Программируем работу флажка (CheckBox1):
procedure TForm1.CheckBox1Click(Sender: TObject); begin
If (sender as TCheckBox=CheckBox1) then
begin
If checkbox1.checked=false then //если флажок отключен,
то begin
Edit1.enabled:=false; // отключаем edit1 Edit1.Color:=clBtnFace;
Edit1.Text:='----------------';
end;
If checkbox1.checked=true then //если флажок включен, то begin
Edit1.enabled:=true; // включаем Edit1.
Edit1.Color:=clWhite;
Edit1.Text:='';
end;
end;
7. Аналогично создайте обработчики событий для всех остальных флажков.
Так как в Edit мы будем вводить только цифры, то пишем обработчик события,
чтобы это устранить.
8. Выберите элемент Edit1
и щелкните в Инспекторе объектов по закладке Events.
9. В событии OnKeyPress (при
нажатии) введите:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin if not ((key>='0') and (key<='9') or
(key=#8)) - все кнопки, кроме цифр и Backspase
игнорируются. then key:=chr(0);
end;
Для остальных элементов аналогично.
Далее, всё остальное Вам известно. Проявляйте творчество. Посмотрите,
как сделана моя программа.
Если Вы сделаете лучше, то я, с удовольствием, помещу ее в рассылку…