. Стиллмен, Дж. Грин - Изучаем 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>дставляющий собой колоду карт? Нужно<br />
отсл<strong>е</strong>живать каждую карту в колод<strong>е</strong> и их порядок. Данная задача<br />
р<strong>е</strong>ша<strong>е</strong>тся при помощи массива Card: п<strong>е</strong>рвой карт<strong>е</strong> присваива<strong>е</strong>тся<br />
знач<strong>е</strong>ни<strong>е</strong> О, сл<strong>е</strong>дующ<strong>е</strong>й — 1 и т. д. Отправной точкой сд<strong>е</strong>ла<strong>е</strong>м<br />
класс Deck, описывающий полную колоду (52 карты).<br />
class Deck {<br />
private Card[] cards = {<br />
new Card(Suits-Spades, Values.Ace),<br />
new Card (Suits. Spades, Values .Two) ,<br />
new C a r d ( S u i t s .Spades, V a l u e s .T h r e e ) ,<br />
/ / . . .<br />
new Card(Suits.Diamonds, V a l u e s .Q u e e n ) ,<br />
n e w Card(Suits.Diamonds, V a l u e s .K i n g ) ,<br />
Объявл<strong>е</strong>ни<strong>е</strong> массива<br />
сокращ<strong>е</strong>но для<br />
экономии м<strong>е</strong>ста на<br />
^^Раниц<strong>е</strong>. Но зд<strong>е</strong>сь<br />
^^<strong>е</strong>числ<strong>е</strong>нь, вс<strong>е</strong><br />
5^2 карты в колод<strong>е</strong>.<br />
public void P r i n t C a r d s O {<br />
for (int 1 = 0; i < cards .Length; i-i--i-;<br />
}<br />
C o n s o l e . W r i t e L i n e ( c a r d s [ i ] . N a m e ()]<br />
... но что <strong>е</strong>сли бам захоч<strong>е</strong>тся больш<strong>е</strong>го?<br />
Пр<strong>е</strong>дставьт<strong>е</strong> вс<strong>е</strong>, что можно д<strong>е</strong>лать с карточной колодой. Наприм<strong>е</strong>р,<br />
для мод<strong>е</strong>лирования игры нужно м<strong>е</strong>нять порядок карт, а такж<strong>е</strong><br />
добавлять их в колоду и убирать из н<strong>е</strong><strong>е</strong>. Эти задачи уж<strong>е</strong> н<strong>е</strong> р<strong>е</strong>шить<br />
при помощи массива.<br />
ШТУРМ<br />
Как бы вы добавили м<strong>е</strong>тод s h u f f l e О , мод<strong>е</strong>лирующ ий проц<strong>е</strong>сс тасования<br />
колоды ? Как смод<strong>е</strong>лировать проц<strong>е</strong>сс сдачи кар т? Каким образом<br />
добавить карты в колоду?<br />
дальш<strong>е</strong> > 345