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>м в карты!<br />

Длинны<strong>е</strong><br />

упражн<strong>е</strong>ния<br />

Создадим симулятор карточной игры.<br />

Это упражн<strong>е</strong>ни<strong>е</strong> сл <strong>е</strong>гка о тл и ч а<strong>е</strong>тся...<br />

Д опуска<strong>е</strong>м , ч т о вы изуча<strong>е</strong>т<strong>е</strong> C # , ч т о б ы п о то м н а й т и работу. П р о гр а м м и с ты р а б о та ю т в ком анд<strong>е</strong>,<br />

и н и к т о н<strong>е</strong> заним а<strong>е</strong>тся создани<strong>е</strong>м прогр а м м о т начала до конца. К а ж д ы й в ы п о л н я <strong>е</strong> т кусок<br />

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

р аны . К од ф орм ы прив<strong>е</strong>д<strong>е</strong>н в ш аг<strong>е</strong> #3. Вам оста<strong>е</strong>тся то л ь ко вв<strong>е</strong>сти <strong>е</strong>го в И С Р . Н о п р и этом<br />

вс<strong>е</strong> классы , к о то р ы <strong>е</strong> вы п и ш и т <strong>е</strong> , должны работать с этим кодом. А в о т э т о го д о б иться н<strong>е</strong> так-то<br />

п р о с то !<br />

Сп<strong>е</strong>циф икация<br />

Работа над л ю б ы м п роф <strong>е</strong> ссиональн ы м п р о гр а м м н ы м об<strong>е</strong>сп<strong>е</strong>ч<strong>е</strong>ни<strong>е</strong>м нач<br />

и н а <strong>е</strong> тся со сп <strong>е</strong> ц и ф и ка ц и и . Вам п р <strong>е</strong> д с т о и т п о с т р о и т ь сим улято р класс<br />

и ч <strong>е</strong> с к о й к а р т о ч н о й и гр ы Go Fish! С ущ <strong>е</strong>ствую т р а зл и чны <strong>е</strong> варианты<br />

правил, в о т т<strong>е</strong>, к о то р ы <strong>е</strong> буд<strong>е</strong>т<strong>е</strong> использо вать вы :<br />

★<br />

★<br />

★<br />

★<br />

★<br />

И спользу<strong>е</strong>тся колода из 52 карт. И гр о к а м разда<strong>е</strong>тся п о п я ть<br />

карт. К а р ты , оста вш и <strong>е</strong>ся посл<strong>е</strong> раздачи, назы ваю тся з а п а с о м .<br />

И гр о к и п о оч<strong>е</strong>р<strong>е</strong>ди с п р а ш и в а ю т п р о н а л и ч и <strong>е</strong> к а р т («Е сть л и<br />

у к о го с<strong>е</strong>м <strong>е</strong>рки?»). И гр о к , им <strong>е</strong>ю ш ;ий н у ж н у ю карту, отда<strong>е</strong>т <strong>е</strong><strong>е</strong>.<br />

Е сли та к о й к а р ты н и у к о го н<strong>е</strong>т, б<strong>е</strong>р<strong>е</strong>тся одна карта из запаса.<br />

Ц <strong>е</strong> л ью и г р ы явля<strong>е</strong>тся сб ор взяток. В з я ткой счита <strong>е</strong> тся набор из<br />

ч <strong>е</strong> т ы р <strong>е</strong> х о д и н а к о в ы х карт. Д ля в ы и гр ы ш а н у ж н о со б рать м аксимально<strong>е</strong><br />

к о л и ч <strong>е</strong> ств о взяток. С о б р а н н ы й набор из ч <strong>е</strong> т ы р <strong>е</strong> х ка р т<br />

вы клады ва<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 />

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

В наш <strong>е</strong>й в <strong>е</strong> р си и ч<strong>е</strong>лов<strong>е</strong>к в ы ступа<strong>е</strong>т п р о т и в двух к о м п ь ю т<strong>е</strong> р н ы х<br />

и гр о к о в . К аж дая п а р ти я н а чи н а <strong>е</strong> тся с в ы б о р а ч<strong>е</strong>лов<strong>е</strong>ком ка р ты ,<br />

о н а л и ч и и к о т о р о й о н буд<strong>е</strong>т спраш и вать. Зат<strong>е</strong>м два ко м п ь ю т<strong>е</strong> р ­<br />

н ы х и гр о к а сп р а ш и в а ю т п р о св о и ка р ты . Р<strong>е</strong>зультаты каж д ой<br />

п а р т и и о то б р а ж а ю тся в т<strong>е</strong> ксто во м пол<strong>е</strong>.<br />

П р о ц <strong>е</strong> д ур ы сдачи к а р т и в зя то к авто м а ти зи р о ва н ы . К а к то л ько<br />

кто -то поб<strong>е</strong>ж да<strong>е</strong>т, и гр а заканчива<strong>е</strong>тся, и в ы водится им я поб<strong>е</strong>дит<strong>е</strong>ля<br />

(и л и поб<strong>е</strong>дит<strong>е</strong> л<strong>е</strong>й в случа<strong>е</strong> н и ч ь <strong>е</strong> й ). Б ольш <strong>е</strong> н и к а к и х д<strong>е</strong>йс<br />

тв и й в ы п о л н и т ь н<strong>е</strong>льзя. И гр о к у оста<strong>е</strong>тся т о л ь ко п<strong>е</strong>р<strong>е</strong>загрузи ть<br />

програм м у, ч т о б ы начать н о вую п а р ти ю .<br />

Если задачу н<strong>е</strong><br />

сформулировать<br />

заран<strong>е</strong><strong>е</strong>,<br />

как узнать,<br />

что работа<br />

законч<strong>е</strong>на?<br />

Им<strong>е</strong>нно поэтому<br />

разработка<br />

проф<strong>е</strong>ссиональных<br />

прилож<strong>е</strong>ний<br />

начина<strong>е</strong>тся со<br />

сп<strong>е</strong>цификации,<br />

которая сообща<strong>е</strong>т<br />

вам, что<br />

должно получиться<br />

в итог<strong>е</strong>.<br />

378 глава 8

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

Saved successfully!

Ooh no, something went wrong!