14.02.2017 Views

. Стиллмен, Дж. Грин - Изучаем C#, 2-е издание

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

уб<strong>е</strong>й моль!<br />

ОЗЬМИ в руку карандаш<br />

Заполнит<strong>е</strong> проб<strong>е</strong>лы, чтобы игра «Уб<strong>е</strong>й моль» заработала. Вам нуж<strong>е</strong>н код, подд<strong>е</strong>рживающий<br />

обратны<strong>е</strong> вызовы. Когда программа буд<strong>е</strong>т готова, пров<strong>е</strong>рьт<strong>е</strong> <strong>е</strong><strong>е</strong> работу в ИСР!<br />

p u b l i c p a r t i a l class Forml : F o r m {<br />

M o l e mole;<br />

R a n d o m r a n d o m = n e w R a n d o m {);<br />

p u b l i c F o r m l 0 {<br />

I n i t i a l i z e C o m p o n e n t ();<br />

}<br />

m o l e = n e w M o l e ( r a n d o m , n e w M o l e . ________<br />

t i m e r l .In t e r v a l = r a n d o m . N e x t (500, 1000)<br />

t i m e r l . S t a r t 0 ;<br />

p r i v a t e v o i d t i m e r l _ T i c k ( o b j e c t sender, E v e n t A r g s e)<br />

t i m e r l . S t o p 0 ;<br />

T o g g l e M o l e () ;<br />

J ) ;<br />

форма п<strong>е</strong>р<strong>е</strong>да<strong>е</strong>т д<strong>е</strong>л<strong>е</strong>гата<br />

указыван>и1,ий на м<strong>е</strong>тод<br />

обратного вызова в конструктор<strong>е</strong><br />

моли.<br />

Э т о т<br />

м<strong>е</strong>тод<br />

управля<strong>е</strong>т<br />

появл<strong>е</strong>ни<strong>е</strong>м<br />

и исч<strong>е</strong>знов<strong>е</strong>ни<strong>е</strong>м<br />

моли<br />

по р<strong>е</strong>зуль-j<br />

татам<br />

/ " " ^ p r i v a t e v o i d T o g g l e M o l e 0 {<br />

if ( m o l e . H i d d e n == true)<br />

m o l e .S h o w ();<br />

else<br />

m o l e . H i d e A g a i n O ;<br />

t i m e r l .I n t e r v a l = r a n d o m . N e x t (500,<br />

t i m e r l .S t a r t ();<br />

p r i v a t e v o i d M o l e C a l l B a c k ( i n t m o l e N u m b e r , b o o l show)<br />

работы if (moleNumber < 0) {<br />

тайм<strong>е</strong>ра. t i m e r l .s t o p () ;<br />

return;<br />

6 ^ Ьлок switch<br />

^арантиру -<br />

<strong>е</strong>т изм<strong>е</strong>н<strong>е</strong>ни<strong>е</strong><br />

т<strong>е</strong>кста<br />

и цв<strong>е</strong>та у<br />

^^равильной<br />

Кнопки.<br />

}<br />

B u t t o n<br />

s w i t c h<br />

button;<br />

(moleNumber)<br />

b u t t o n =<br />

b u t t o n =<br />

b u t t o n =<br />

b u t t o n =<br />

{<br />

b u t t o n l ;<br />

b u t t o n 2 ;<br />

b u t t o n s ;<br />

b u t t o n 4 ;<br />

case<br />

b r e a k<br />

case<br />

b r e a k<br />

case<br />

b r e a k<br />

case<br />

b r e a k<br />

default: b u t t o n = b u t t o n 5 ; break;<br />

{<br />

1000)<br />

(show == true)<br />

b u t t o n . T e x t = "HIT ME!"; ,<br />

button. B a c k C o l o r = Color. Red;<br />

'*<br />

} e l s e {<br />

b u t t o n . T e x t = "";<br />

IB!<br />

b u t t o n . B a c k C o l o r = S y s t e m C o l o r s .C o n t r o l ;<br />

t i m e r l .I n t e r v a l = r a n d o m . N e x t (500, 1000)<br />

t i m e r l . S t a r t ();<br />

}<br />

p r i v a t e v o i d b u t t o n l _ C l i c k ( o b j e c t<br />

m o l e .S m a c k e d (0)<br />

}<br />

{<br />

F o rm lx s [Design]<br />

Щ W h a c k -a -m o le<br />

sender, E v e n t A r g s <strong>е</strong>) {<br />

Добавьт<strong>е</strong> эти обработчики событий<br />

обычным способом, то<br />

<strong>е</strong>сть двойным щ<strong>е</strong>лчком на кнопках<br />

в конструктор<strong>е</strong> формы.<br />

ю т СО­<br />

М Ы поговорим<br />

-г X<br />

П<strong>е</strong>р<strong>е</strong>тащит<strong>е</strong> эл<strong>е</strong>м<strong>е</strong>нт<br />

imeri ' Timer из окна toolbox<br />

л и дважды щ<strong>е</strong>лкнит<strong>е</strong><br />

^ на н<strong>е</strong>м.<br />

Добавьт<strong>е</strong> пять обработчиков<br />

событий для кнопок.<br />

buttonZ_click() вызыва<strong>е</strong>т<br />

mole.Smacked(l) и заставля<strong>е</strong>т<br />

button3 вызвать<br />

mole.Smacked(Z)>что за-<br />

^ ставля<strong>е</strong>т button4 вызвать<br />

mole.Smacked(3) и buttons<br />

вызвать mole.Smacked(4).<br />

522 глава 11

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!