Играем
в
M is
р р р Г Сергей П А Р И Ж С К И Й
Сегодня м ы будем писать на
Ре/рЫ
«компьютерный теннис». П о полю летает мяч, отбиваясь от стен
и от палок, которые перемещ аются по горизонтали и управляются игроками. Ц ель игры
отбивать
мяч, не дать дотронуться ем у к защ ищ аем ой стенке и по возможност и забить его противнику. Если
м я ч коснется ваш ей стенки, противник получает 1 очко, если набралось определенное количество
очков, игра заканчивает ся.
У
нас будет две формы: для самой игры и для ее настро-
ек. Начнем с главной формы. Измените заголовок на
lo i s ,
p o s i t i o n
установите
p o D e s k to p C e n te r,
в свойстве
C o l-
o r
можете изменить цвет формы. И з вкладки
S ta n d a rd
возьмите компонент
MainM enu
и с его пом ощ ью создайте ме-
ню
Игра
с пунктами
Начать, Пауза, Продолжить,
а также ме-
ню
Настройки
с пунктами
Изменить
и
По умолчанию.
Бросьте
на ф орм у
T im e r
из вкладки System и в его парам етрах выставь-
те
i n t e r v a l
в
20.
С низу разместите
панель
(P anel),
на кото-
рой будут находиться имена игроков и текущий счет. Для того
чтобы закрепить панель снизу, в свойстве
A l i g n
выберите
a l -
B ottom .
Для имен игроков оставьте имена
l a b e l l
и
la b e l2 ,
для счета очков первого игрока укажите
имя
s e l,
для второго —
sc2,
а разделите-
лем будет служить ещ е один
la b e l
с име-
нем
ra z .
Теперь придется нарисовать в лю -
бом графическом редакторе двух игроков,
желательно чтобы они были разными и име-
ли одинаковый размер. Э то может быть лю -
бой рисунок в ф орм ате J P G или BM P, м о-
жете всунуть туда даже свою фотографию.
П осле того как рисунки готовы, бросьте на
ф орм у два ком понента
im age
из вкладки
A d d it io n a l.
Первый назовите
до
и распо-
ложите возле левой стенки, а второй на-
зовите
до2
и поставьте на защ иту проти-
вополож ной стены. Для того чтобы загру-
зить в рамки ваши подготовленные «скины»
для игроков, измените свойство
P ic t u r e
и
выберите через о б зо р соответствующ ий
рисунок. То же сам ое м ож но сделать и для
мяча, но я решил, что мячом может послу-
жить и
la b e l.
Бросьте посередине
la b e l,
дайте ему имя
ball,
измените цвет ф она и
шрифт для него, после чего в заголовке на-
пишите лю бой символ. Ф о р м а должна вы-
глядеть примерно как на рисунке 1.
Теперь займемся ф орм ой настроек —
зайдите в File > N e w > Form и создайте
И ь Рис.2
ещ е одну форму. Н азовите ее Settings, в заголовке напиш и-
те
Настройки,
p o s i t i o n
установите в
p o M a in F o rm C e n te r,
а
B o r d e r S t y le
определите как
b s D ia lo g .
Н а ф орм е разм ес-
тите пять ком понентов
l a b e l
с заголовкам и
Имя первого иг-
рока, Имя второго игрока, Скорость мяча, Скорость игроков
и
До скольких очков играть.
Для ввода имен будем использо-
вать
E d i t ,
а вот остальное будет задаваться прокруткой, ко-
тор ую нуж но взять из вкладки W in 3 2 . И зм ените имена ком-
понентов
(т га с к в а г)
на более короткие:
t r i , t r 2
и
t r 3
со-
ответственно. Внизу разместите кнопку с заголовком
Приме-
нить.
Ф о р м а с настройкам и готова (рис. 2) — теперь мы все-
цело готовы к програм м ированию игры.
Ходим игру
С н а ч а л а разберем ся с загрузкой и сохранением н астр о -
ек, производим ых пользователем. П р е о б р азуй те раздел
v a r
для главного модуля, чтобы он имел такой вид:
s p e e d , s p e e d b a ll, s p e e d b a ll2 , s c o r e : s h o r t i n t ; / / ч и -
словы е зн а че н и я счи танны х данны х
s p e e d b a lll, s p e e d l, s c o r e l : s t r i n g ; //стр о ко вы е з н а -
чени я
n a m e l, nam e2: s t r i n g ; //имена и гр о к о в
p a t h : s t r i n g ; / / п у т ь к ф айлу н а с тр о е к
W in : T i n i F i l e ; // р а б о та с . i n i -ф ай ло м
p l a y : b o o le a n ; / / д л я возможности пр и о ста н а в ли в а ть и гр у
Для модуля настроек будет пом еньш е переменных:
W in : T i n i f i l e ;
s p e e d b a lll, s p e e d l, s c o r e l : s t r i n g ;
p a t h : s t r i n g ;
Также для обои х модулей в раздел
u s e s
допиш ите
1 п -
i F i l e s ,
для возм ож ности раб оты с .ini-файлами. В ф орм е н а-
строек будут два события: появление ф ор-
мы и нажатия на кнопку
Применить.
П ри
появлении формы мы будем считывать те-
кущие настройки и подставлять их в со-
ответственные поля. Заполните событие
onshow
таким кодом:
p a t h := G e t C u r r e n t D i r + ' \ O p t io n s .
i n i ' ;
W i n : = T I n i F i l e . C r e a t e ( p a t h ) ;
e d i t 1 . T e x t : = W in . R e a d s t r in g
( 'O p t i o n s ', ' n a m e l ' , e d i t l . T e x t ) ;
e d i t 2 . T e x t : = W in . R e a d s t r in g
( 'O p t i o n s ', 'n a m e 2 ', e d i t 2 . T e x t ) ;
s p e e d b a l l l : = W in .R e a d s t r in g
( 'O p t i o n s ', 's p e e d b a l l '.s p e e d b a l l l ) ;
s p e e d l:= W in .R e a d s trin g ( 'O p t i o n s ', '
s p e e d '.s p e e d l);
s c o r e l:= W in .R e a d s t rin g ('O p t io n s ’ , '
s c o r e '. s c o r e l ) ;
W in .F r e e ;
t r l . P o s i t i o n : = s t r t o i n t ( s p e e d b a lll) ;
t r 2 . P O S i t i o n : = s t r t o i n t ( s p e e d l ) ;
t r 3 . P o s i t i o n : = s t r t o i n t ( s c o r e l ) ;
П ри нажатии на кнопку «Применить» мы
должны будем запомнить все введенные
пользователем настройки и записать их в
наш .ini-файл. Код нажатия на кнопку:
W i n : = T I n i F i l e . C r e a t e ( p a t h ) ;
W i n .W r i t e S t r i n g ( 'O p t i o n s ', ' n a m e l ' . e d i t l . T e x t ) ;
W i n . W r i t e S t r i n g ( 'O p t i o n s ', 'n a m e 2 ', e d i t 2 . T e x t ) ;
W i n . W r i t e S t r i n g ( 'O p t i o n s ', 's p e e d b a l l '. i n t T O s t r
( t r l . p o s i t i o n ) ) ;
W i n .W r i t e S t r i n g ( 'O p t i o n s ', 's p e e d ', i n t T O s t r ( t r 2 .
p o s i t i o n ) ) ;
W i n . W r i t e S t r i n g t 'O p t i o n s ', ' s c o r e ' . i n t T O s t r ( t r 3 .
p o s i t i o n ) ) ;
W in .F r e e ;
c lo s e ;
В главной ф орм е наб ер ите код, которы й будет исполнять-
ся при наж атии на м еню Н астройки > Изменить:
s e t t i n g s . show m oda l; //показы ваем форму н а с тр о е к
/ / п о с л е ее закры тия считы ваем в се н а с тр о й к и заново
p a t h := G e t C u r r e n t D i r + ' \ O p t io n s . i n i ' ;
W i n : = T I n i F i l e . C r e a t e ( p a t h ) ;
о : 1*
1
Рис.1
-----------.
................
І
,. До скольки играть:
Г
-|П|х|
Им я первого игрока:; |
Имя второго игрока:;.]
; ; ; ; ; Скорость мяча:
J
; Скоростьнгроков: J
Прим енить
№42/317 18 октября-25 октября 2004
предыдущая страница 40 Мой Компьютер 2004 42 читать онлайн следующая страница 42 Мой Компьютер 2004 42 читать онлайн Домой Выключить/включить текст