Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Delphi для чайников, или как научиться программировать


Информационный Канал Subscribe.Ru

"Эверест" - Центр Практической Информатики

представляет вводный курс

"Delphi для чайников"

Урок 22.

"Создаем игру 21-продолжение".

 

 

Располагаем карты.


Как расположить карты в процессе игры? В 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:= 'Ты выиграл!'


Все. Запускайте игру, наслаждайтесь.


Безусловно, у нашей игры еще куча недостатков: сам код громоздкий, карты при раздаче могут повторяться и т.д.. Но в рамках тех знаний, которыми мы обладаем, это невозможно.

Рисунки к игре и саму игру Вы можете скачать с нашего сайта: http://umnik.rikt.ru/everest/distant/delphi.htm в архиве...

 

Внимание.

1. У нас праздник. ЦПИ "Эверест" празднует начало настоящей весны и свой День Рождения.

В качестве подарка всем желающим Уникальное предложение: стоимость месяца обучения на любом курсе снижена в 2 раза, а при перечеслении денег сразу за весь курс стоимость его снижается на 15%!

Данные цены действуют в течение 1-ой недели. Не упустите свой шанс!

У Вас вопросы? Милости просим: rk@rikt.ru

2. На нашем сайте отрылась бесплатная рассылка "Сказки школьного образования и как сказки сделать былью". Подписаться на рассылку Вы можете по адресу: http://umnik.rikt.ru/everest/ticher.htm

Автор рассылки: Ишмуратов Р.К.

 

Скачать этот урок в формате Word и посмотреть архив данной рассылки, Вы сможете на нашем сайте по адресу: http://umnik.rikt.ru/everest/distant/delphi.htm




http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу


В избранное