Как расположить карты в процессе игры? В Image1, это понятно. Туда пойдет
первая карта. Во второй Image- 2-ая. Но как это сделать? Можно поступить
следующим образом: ввести дополнительную переменную и сопоставлять ей
значение Image. А можно поступить следующим образом: у каждого элемента
в Delphi есть свойство Tag. Это свойство в процессе работы не используется,
его разработчики ввели специально для программиста. В этом свойстве можно
хранить целое число. Что мы и сделаем:
Если карта уже находится в Image, то его свойство Tag присвоим равным
1.
1. Откройте двойным щелчком обработчик события кнопки Дать
карту.
2. Допишите следующие строки: if image1.Tag=0 then
begin
image1.Picture:=image8.Picture;
image1.Tag:=1;
end
3. Аналогично и для других рисунков:
else if image2.Tag=0 then
begin
image2.Picture:=image8.Picture;
image2.Tag:=1;
end
else if image3.Tag=0 then
begin
image3.Picture:=image8.Picture;
image3.Tag:=1;
end
else if image4.Tag=0 then
begin
image4.Picture:=image8.Picture;
image4.Tag:=1;
end
else if image5.Tag=0 then
begin
image5.Picture:=image8.Picture;
image5.Tag:=1;
end
else if image6.Tag=0 then
begin
image6.Picture:=image8.Picture;
image6.Tag:=1;
end
else if image7.Tag=0 then
begin
image7.Picture:=image8.Picture;
image7.Tag:=1;
end;
4. Теперь необходимо прописать условия окончания игры:
bitbtn1.Caption:='Дать еще карту';
if s=21 then
begin
label2.Caption:='Ты победил';
button3.Enabled:=false;
bitbtn1.Enabled:=false;
end;
if s>21 then
begin
label2.Caption:= 'Извини, Ты проиграл';
button3.Enabled:=false;
bitbtn1.Enabled:=false;
end;
Самостоятельно: пропишите подобные
механизмы и для компьютера (щелчок по кнопке Себе)
Далее, необходимо подумать, каким образом закончится игра и как компьютер
будет действовать в разных случаях.
Вот как это сделал я, по-моему, тут все ясно:
while s1<s do
begin
bitbtn2.Click;
sleep(500);
application.ProcessMessages();
end;
if s1=s then label3.Caption:= 'Я выиграл!';
if (s1>s) and (s1<22) then label3.Caption:= 'Я выиграл!';
if s1>21 then label3.Caption:= 'Ты выиграл!'
Все. Запускайте игру, наслаждайтесь.
Безусловно, у нашей игры еще куча недостатков: сам код громоздкий, карты
при раздаче могут повторяться и т.д.. Но в рамках тех знаний, которыми
мы обладаем, это невозможно.
1. У нас праздник.
ЦПИ "Эверест" празднует начало настоящей весны и свой День Рождения.
В качестве подарка всем желающим Уникальное предложение:
стоимость месяца обучения на любом курсе снижена в 2 раза, а при перечеслении
денег сразу за весь курс стоимость его снижается на 15%!
Данные цены действуют в течение 1-ой недели. Не упустите
свой шанс!
У Вас вопросы? Милости просим: rk@rikt.ru
2. На нашем сайте
отрылась бесплатная рассылка "Сказки школьного образования и как
сказки сделать былью". Подписаться на рассылку Вы можете по адресу:
http://umnik.rikt.ru/everest/ticher.htm