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>ш<strong>е</strong>ни<strong>е</strong> упражн<strong>е</strong>ния<br />

возьми в руку карандаш<br />

'<strong>е</strong>ш<strong>е</strong>ни<strong>е</strong><br />

Вот как долж<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 />

}<br />

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

}<br />

c l a s s M o l e {<br />

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

Popup<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 />

p u b l i c _<br />

p r i v a t e<br />

Popup<br />

p o p U p C a l l b a c k ;<br />

v o i d P o p U p d n t hole, b o o l show)<br />

p u b l i c M o l e ( R a n d o m random, P o p U p p o p U p C a l l b a c k ) {<br />

t h i s . r a n d o m = random;<br />

}<br />

t h i s .___________<br />

h i d d e n = true;<br />

popUpCallback<br />

p u b l i c v o i d S h o w O {<br />

t i m e s S h o w n + + ;<br />

h i d d e n = false;<br />

}<br />

h o l e = r a n d o m .N e x t (5);<br />

popUpCallback<br />

p u b l i c v o i d H i d e A g a i n O {<br />

h i d d e n = true;<br />

}<br />

popUpCallback<br />

C h e c k F o r G a m e O v e r ();<br />

(hole, true)<br />

(hole, false)<br />

p u b l i c v o i d S m a c k e d ( i n t h o l e S m a c k e d ) {<br />

if ( h o l e S m a c k e d == hole) {<br />

t i m e s H i t + + ;<br />

h i d d e n = true;<br />

C h e c k F o r G a m e O v e r ();<br />

popUpCallback<br />

(hole, false)<br />

popUpCallback<br />

MoleCallBack<br />

Форма п<strong>е</strong>р<strong>е</strong>да<strong>е</strong>т ссылку на<br />

м<strong>е</strong>тод MokCallBackQ о Ь <strong>е</strong>кт у<br />

Mole, что позволя<strong>е</strong>т мол« вызывать<br />

данный м<strong>е</strong>тод.<br />

М О Л & опр<strong>е</strong>д<strong>е</strong>ля<strong>е</strong>т свой<br />

д<strong>е</strong>л<strong>е</strong>гат и и сп о льзу<strong>е</strong>т <strong>е</strong>го<br />

для задания закры т ого<br />

поля, в кот ором буд<strong>е</strong>т<br />

хранит ся ссылка на м<strong>е</strong>-^<br />

mod в форм<strong>е</strong>, м<strong>е</strong>няющий<br />

цв<strong>е</strong>т кнопок.<br />

Создав новый экз<strong>е</strong>мпляр объ<strong>е</strong>кта Mole,<br />

\ форма п<strong>е</strong>р<strong>е</strong>да<strong>е</strong>т конструктору в ка-<br />

\ ч<strong>е</strong>ств<strong>е</strong> парам<strong>е</strong>тра ссылку на м<strong>е</strong>тод<br />

MoleCallBackQ. Эта строка в конструктор<strong>е</strong><br />

копиру<strong>е</strong>т ссылку в пол<strong>е</strong><br />

popUpCal back. М<strong>е</strong>тоды конструктора<br />

при помощи этого поля м о ­<br />

гут вызывать м<strong>е</strong>тод MoleCallBackQ<br />

в форм<strong>е</strong>.<br />

V — Когда м о ль показы ва<strong>е</strong>т ся, пря<br />

ч <strong>е</strong> т с я или оказы ва<strong>е</strong>т ся у д и -<br />

т Т 1 объ<strong>е</strong>кт ^о1<strong>е</strong> и % о л ^<br />

д<strong>е</strong>л<strong>е</strong>гат рорирСаНЬаск °<br />

зова м <strong>е</strong>т ода, м <strong>е</strong>няю щ <strong>е</strong>го цб<strong>е</strong><br />

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

524 глава 11

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

Saved successfully!

Ooh no, something went wrong!