. Стиллмен, Дж. Грин - Изучаем 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 />
c l a s s C ardC om parer_bySuit : IComparer<br />
{<br />
p u b l i c<br />
{<br />
i n t Com pare(Card x . Card y)<br />
i f ( x .S u i t > y . S u i t )<br />
r e t u r n 1;<br />
i f ( x .S u i t < y . S u i t )<br />
r e t u r n -1 ;<br />
i f (x .V a lu e > y .V a lu e )<br />
r e t u r n 1;<br />
i f (x .V a lu e < y .V a lu e )<br />
r e t u r n -1 ;<br />
r e t u r n 0;<br />
Deck d e c k l;<br />
D eck d e c k 2 ;<br />
Random random =<br />
new Random()<br />
С о р т и р о в к а no м а с т и н а т м и -<br />
н а <strong>е</strong> т с о р т и р о в к у п о с т а р ш и н <br />
с т в у . Е д и н с т в <strong>е</strong> н н о <strong>е</strong> о т л и ч и <strong>е</strong><br />
в т о м , ч т о м а с т и с р а в н и <br />
в а ю т с я п <strong>е</strong> р в ы м и , а с р а в н <strong>е</strong> н и <strong>е</strong><br />
знач<strong>е</strong>нии к д р т происходит<br />
т о л ь к о п р и с о в п а д <strong>е</strong> н и и м а с т <strong>е</strong> й .<br />
Вм<strong>е</strong>сто конструкции if/else if<br />
мы использовали набор оп<strong>е</strong>раторов<br />
if. Это работа<strong>е</strong>т, так<br />
как каждьш сл<strong>е</strong>дуюший one<br />
ратор if выполня<strong>е</strong>тся только<br />
в случа<strong>е</strong> н<strong>е</strong>выполн<strong>е</strong>ния пр<strong>е</strong>дыдущ<strong>е</strong>го.<br />
p u b l i c F o r m lО {<br />
I n it ia liz e C o m p o n e n t О ;<br />
}<br />
R e s e tD e c k (1 );<br />
R e s e tD e c k (2 );<br />
R edraw D eck(1 );<br />
R edraw D eck(2 );<br />
Конструктор формы сна<br />
чала возвраща<strong>е</strong>т колоды<br />
в исходно<strong>е</strong> состояни<strong>е</strong> —<br />
п<strong>е</strong>р<strong>е</strong>рисовыва<strong>е</strong>т их.<br />
п о т о м<br />
p r i v a t e v o id R e s e t D e c k ( in t deckNumber) {<br />
}<br />
i f (deckNumber = = 1 ) {<br />
i n t num berO fCards = random .N e x t (1 , 1 1 );<br />
d e c k l = new D eck (new C ard[] { } ) ;<br />
f o r ( i n t i = 0; i < num berO fCards; i++)<br />
d e c k l.A d d (n e w C a r d ( ( S u it s ) r a n d o m .N e x t ( 4 ) ,<br />
(V a lu e s )r a n d o m .N e x t(1, 1 4 ) ) ) ;<br />
d e c k l . S o r t ( );<br />
} e l s e<br />
d eck2 = new D e c k ()<br />
l4emod RedrawPeckQ<br />
вам уж<strong>е</strong> встр<strong>е</strong>чался.<br />
Vпользу<strong>е</strong>тся м<strong>е</strong>тод random Nextn и п . / ’<br />
созда<strong>е</strong>тся пистая<br />
посл<strong>е</strong> ч<strong>е</strong>го<br />
For туда добавляются г ‘^омощи цикла<br />
сл<strong>е</strong>док оста<strong>е</strong>тся пров<strong>е</strong>ст Тгп^',^ карты. Напостановить<br />
колоди ^с>ртировку. Воссоздать<br />
экз<strong>е</strong>мпляр D ecl^ '^Р°'Ч<strong>е</strong>. Достаточно<br />
У <strong>е</strong> р <strong>е</strong> ^ <strong>е</strong> р н и т п <strong>е</strong> с т р а н и ц у и 1 ^ о Д о Л ж и м !<br />
дальш<strong>е</strong> > 373