. Стиллмен, Дж. Грин - Изучаем 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