. Стиллмен, Дж. Грин - Изучаем C#, 2-е издание
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
р<strong>е</strong>ш<strong>е</strong>ни<strong>е</strong> упражн<strong>е</strong>ния<br />
іажн<strong>е</strong>ни<strong>е</strong><br />
'<strong>е</strong>ш<strong>е</strong>ни<strong>е</strong><br />
c l a s s Deck {<br />
В о т код д ля класса, хранящ <strong>е</strong>го инф о р м ацию о колод<strong>е</strong> карт, а такж<strong>е</strong> д л я использую<br />
щ <strong>е</strong>й этот класс ф орм ы<br />
p r i v a t e L ist< C a rd > c a r d s;<br />
p r i v a t e Random random = new Random( );<br />
p u b l i c D eckO {<br />
}<br />
c a r d s = new L ist () ;<br />
f o r ( i n t s u i t = 0; s u i t ( i n i t i a l C a r d s ) ;<br />
}<br />
p u b l i c i n t Count { g e t { r e t u r n c a r d s.C o u n t;<br />
p u b l i c v o id Add(Card cardToAdd) {<br />
}<br />
c a r d s.A d d (c a r d T o A d d );<br />
p u b l i c Card D e a l ( i n t in d ex ) {<br />
Card CardToDeal = c a r d s [ in d e x ]<br />
c a r d s . R e m o v e A t(in d e x );<br />
r e t u r n C ardT oD eal;<br />
}<br />
p u b lic v o id S h u f f l e 0 {<br />
}<br />
L ist< C a rd > NewCards = new L is t< C a r d > ( ) ; -----<br />
w h ile (c a r d s.C o u n t > 0 ) {<br />
i n t CardToMove = r a n d o m .N e x t(c a r d s . Count)<br />
N ew C ard s.A d d (card s[C ard T oM ove]);<br />
c a r d s . Rem oveA t(C ardT oM ove);<br />
}<br />
c a r d s = NewCards;<br />
p u b lic IE n u m e ra b le < strin g > G etC ardN am es() {<br />
}<br />
s t r i n g [] CardNames = new s t r i n g [ c a r d s . C o u n t];<br />
( i n t i = 0; i < c a r d s .C o u n t; i++ )<br />
C ardN am es[i] = c a r d s [i] .Name;<br />
r e t u r n CardNames;<br />
p u b l i c v o id S o r t O {<br />
c a r d s . S o r t(n e w C a rd C o m p a rer_ b y S u it( ) ) ;<br />
Э т о т конструктор созда<strong>е</strong>т колодц<br />
из SZ карт. Он использу<strong>е</strong>т влож<strong>е</strong>нный<br />
цикл for. Вн<strong>е</strong>шний цикл оси-<br />
^<strong>е</strong>рсбор ч<strong>е</strong>тыр<strong>е</strong>х маст<strong>е</strong>й.<br />
/ ^ ^ ‘^^<strong>е</strong>т ст в<strong>е</strong>нно, внутр<strong>е</strong>нний цикл,<br />
j п<strong>е</strong>р<strong>е</strong>бирающий 13 знач<strong>е</strong>ний карт, за<br />
разу на каждую масть.<br />
<strong>е</strong> с т ь n o<br />
Это второй конструктор.<br />
-------- Данны й класс сод<strong>е</strong>ржит<br />
два п<strong>е</strong>р<strong>е</strong>груж<strong>е</strong>нных конструктора<br />
с различными<br />
J J парам<strong>е</strong>трами.<br />
^^oд Add ^ л і<strong>е</strong> -<br />
" с им<strong>е</strong>н<strong>е</strong>м NewCards<br />
ИЗ п о л я Cards и пом<strong>е</strong>ш,а<strong>е</strong>т в к м -<br />
СагГн<strong>е</strong>^‘^"^<br />
^aras н<strong>е</strong> опуст<strong>е</strong><strong>е</strong>т. Посл<strong>е</strong> этого<br />
н о в ' Л ^ Т ' ' ' ^ ^<br />
на старый экз<strong>е</strong>мпляр в итог<strong>е</strong> н<strong>е</strong><br />
оста<strong>е</strong>тся, он удаля<strong>е</strong>тся.<br />
М <strong>е</strong>т о Э й О а С а гс1 Ы а т <strong>е</strong> $ {) нуж н о с о з д а т ь<br />
Ъ ^ а т о ч н о б о л ь ш о й м а с с и в , ч т о б ы в<br />
н <strong>е</strong> го п о м <strong>е</strong> с т и л и с ь и м <strong>е</strong> н а в с <strong>е</strong> х ^<br />
Т т о г Т и с п о л ь з у <strong>е</strong> т с я ц и к л<br />
ч а р <strong>е</strong> ш а <strong>е</strong> м а и с п о М о ш р ю ц и к л а \о г<strong>е</strong>ас)л .<br />
ня<br />
372 глава 8