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

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

"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/projectgame/learn.html

 

Примечание : Обращаю ваше внимание на то, что данный курс ознакомительный. Если Вы желаете действительно научиться программированию и получить в руки мощный инструмент для профессиональной работы, то приглашаем Вас на наш основной курс по Delphi.

Вся информация находится по адресу: http://umnik.rikt.ru/everest/distant/delphi_os.htm

Учиться у нас выгодно. Не верите?

Посмотреть архив данной рассылки Вы сможете на нашем сайте по адресу: http://umnik.rikt.ru/projectgame/learn.html

 

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

 

ШСД поможет вам открыть Свое Дело!      

 

Rambler's Top100  
  Союз образовательных сайтов     InterSib Каталог ресурсов Сибири