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> классы<br />

p r i v a t e v o id M oveT oA N ew L ocation(L ocation n ew L o ca tio n )<br />

'<br />

c u r r e n t L o c a t io n = n ew L o c a tio n ;<br />

e x i t s . Ite m s . C le a r () ;<br />

f o r ( i n t 1 = 0 ; i < c u r r e n t L o c a t io n .E x it s .L e n g t h ; i++ ) P<br />

MemodMoveToANewLocationO<br />

показыва<strong>е</strong>т в форм<strong>е</strong> ново<strong>е</strong><br />

>лом<strong>е</strong>щ<strong>е</strong>ни<strong>е</strong>.<br />

e x i t s . I te m s. Add ( c u r r e n t L o c a t io n . E x i t s [i] .Name) ; f ^^УЖно о ч и с т и т ь<br />

e x i t s . s e l e c t e d l n d e x = 0;<br />

d e s c r i p t io n . T ex t = c u r r e n t L o c a t io n .D e s c r ip t io n ;<br />

^ ^ ^^М <strong>е</strong> го Т о ж ^<br />

заново заполни<br />

i f ( c u r r e n t L o c a t io n i s IH a sE x te r io r D o o r ) ------ ---------------^ ноль<br />

g o T h r o u g h T h e D o o r .V isib le = tr u e ;<br />

e l s e<br />

^ 'Г gornrougniiiejjuux g o T h r o u g h T h e D o o .vi.bj.xj±t3 r .V isib le = i.ctxöc; f a l s e ;<br />

V Д <strong>е</strong>ла<strong>е</strong>т кнопку Go through, the door н<strong>е</strong>видимой, <strong>е</strong>сли<br />

т<strong>е</strong>куия,<strong>е</strong><strong>е</strong> пом<strong>е</strong>щ<strong>е</strong>ни<strong>е</strong> н<strong>е</strong> р<strong>е</strong>ализу<strong>е</strong>т IHasExteriorPoor.<br />

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

}<br />

M o v e T o A N e w L o c a t i o n ( c u r r e n t L o c a t i o n . E x i t s [ e x i t s .S e l e c t e d l n d e x ] );<br />

p r i v a t e v o i d g o T h r o u g h T h e D o o r _ C lic k (o b je c t se n d e r , E ven tA rgs e) {<br />

}<br />

IH a sE x te r io r D o o r hasD oor = c u r r e n t L o c a t io n a s IH a sE x te r io r D o o r ;<br />

M oveT oA N ew L ocation(hasD oor. D o o r L o c a tio n ) ;<br />

^Mu >^0М <strong>е</strong>щ <strong>е</strong>ни^п'^^^а‘^^‘^~<br />

\ ‘^^р<strong>е</strong>м <strong>е</strong>нн^ S e k c tld T i''^''<br />

J знач<strong>е</strong>ния нолТ. I<br />

•^^рвый п ункт Т ^^<br />

будьт<strong>е</strong> Z T rT n We за-<br />

^'^opO ownStuleT^<br />

^'^^pOownList<br />

зоват<strong>е</strong>ли н<strong>е</strong> L n<br />

Оп<strong>е</strong>ратор as осущ<strong>е</strong>ствля<strong>е</strong>т нис-<br />

)содящ<strong>е</strong><strong>е</strong> прив<strong>е</strong>д<strong>е</strong>ни<strong>е</strong> currentLocation<br />

к IHasExteriorDoor, что да<strong>е</strong>т нам<br />

доступ к полю DoorLocation.<br />

^<br />

^<br />

Щ<strong>е</strong>лчок на кнопк<strong>е</strong><br />

Qo here: п<strong>е</strong>р<strong>е</strong>м<strong>е</strong>ща<strong>е</strong>т<br />

в выдранно<strong>е</strong><br />

пом<strong>е</strong>щ<strong>е</strong>ни<strong>е</strong>.<br />

Работа <strong>е</strong>щ<strong>е</strong> н<strong>е</strong> законч<strong>е</strong>на!<br />

Нашу зам<strong>е</strong>чат<strong>е</strong>льную мод<strong>е</strong>ль дома можно пр<strong>е</strong>вратить в игру! Хотит<strong>е</strong> поиграть<br />

с компьют<strong>е</strong>ром в прятки? Нам потр<strong>е</strong>бу<strong>е</strong>тся класс O pponent (Соп<strong>е</strong>рник) и возможность<br />

прятать <strong>е</strong>го в комнатах. Ну и, кон<strong>е</strong>чно, большой дом, в котором<br />

удобно прятаться! Мы добавим новый инт<strong>е</strong>рф<strong>е</strong>йс, описывающий укромны<strong>е</strong><br />

м<strong>е</strong>ст<strong>е</strong>чки. И обновим форму, чтобы получить возможность пров<strong>е</strong>рять наличи<strong>е</strong><br />

укромных м<strong>е</strong>ст и отсл<strong>е</strong>живать, сколько ходов вы сд<strong>е</strong>лали, пытаясь найти соп<strong>е</strong>рника!<br />

И ш а к , начн<strong>е</strong>м!<br />

дальш<strong>е</strong> > 329

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

Saved successfully!

Ooh no, something went wrong!