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>дставляющий собой колоду карт? Нужно<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

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

Saved successfully!

Ooh no, something went wrong!