Skip to content

shilin-anton/Thinknetica_Black_Jack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Thinknetica_Black_Jack

Last task from ruby basics

Рекомендации по выполнению проекта: Проект делайте в отдельном репозитории В процессе работы, делайте много маленьких коммитов Сначала тщательно проанализируйте задачу и разбейте на подзадачи. Начните с продумывания объектной модели - какие классы будут нужны, за что они будут отвечать и как они будут связаны. Начинайте разработку с самого простого и понятного для вас участка

Механика и правила игры:

Есть игрок (пользователь) и дилер (управляется программой). Вначале, запрашиваем у пользователя имя после чего, начинается игра. При начале игры у пользователя и дилера в банке находится 100 долларов Пользователю выдаются случайные 2 карты, которые он видит (карты указываем условными обозначениями, например, «К+» - король крестей, «К<3» - король черв, «К^» - король пик, «К<>» - король бубен и т.д. При желании, можете использовать символы юникода для мастей.) Также 2 случайные карты выдаются «дилеру», против которого играет пользователь. Пользователь не видит карты дилера, вместо них показываются звездочки. Пользователь видит сумму своих очков. Сумма считается так: от 2 до 10 - по номиналу карты, все «картинки» - по 10, туз - 1 или 11, в зависимости от того, какое значение будет ближе к 21 и что не ведет к проигрышу (сумме более 21). После раздачи, автоматически делается ставка в банк игры в размере 10 долларов от игрока и диллера. (У игрока и дилера вычитается 10 из банка) После этого ход переходит пользователю. У пользователя есть на выбор 3 варианта: - Пропустить. В этом случае, ход переходит к дилеру (см. ниже) - Добавить карту. (только если у пользователя на руках 2 карты). В этом случае игроку добавляется еще одна случайная карта, сумма очков пересчитывается, ход переходит дилеру. Может быть добавлена только одна карта. - Открыть карты. Открываются карты дилера и игрока, игрок видит сумму очков дилера, идет подсчет результатов игры (см. ниже). Ход дилера (управляется программой, цель - выиграть, т.е набрать сумму очком, максимально близкую к 21). Дилер может: - Пропустить ход (если очков у дилера 17 или более). Ход переходит игроку. - Добавить карту (если очков менее 17). У дилера появляется новая карта (для пользователя закрыта). После этого ход переходит игроку. Может быть добавлена только одна карта. Игроки вскрывают карты либо по достижению у них по 3 карты (автоматически), либо когда пользователь выберет вариант «Открыть карты». После этого пользователь видит карты дилера и сумму его очков, а также результат игры (кто выиграл и кто проиграл). Подсчет результатов: - Выигрывает игрок, у которого сумма очков ближе к 21 - Если у игрока сумма очков больше 21, то он проиграл - Если сумма очков у игрока и дилера одинаковая, то объявляется ничья и деньги из банка возвращаются игрокам - Сумма из банка игры переходит к выигравшему После окончания игры, спрашиваем у пользователя, хочет ли он сыграть еще раз. Если да, то игра начинается заново с раздачи карт, если нет - то завершаем работу.

About

Last task from ruby basics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages