Костя так и не смог завязать с азартными играми. Но перед тем как в очередной раз всё проиграть, он решил как следует подготовиться. И написать программу, на которой он будет тренироваться играть в блек-джек.
Блек-джек также известен как 21. Суть игры проста: нужно или набрать ровно 21 очко, или набрать очков больше, чем в руках у дилера, но ни в коем случае не больше 21. Если игрок собирает больше 21, он «сгорает». В случае ничьей игрок и дилер остаются при своих.
Карты имеют такие «ценовые» значения:
- от двойки до десятки — от 2 до 10 соответственно;
- у туза — 1 или 11 (11 пока общая сумма не больше 21, далее 1);
- у «картинок» (король, дама, валет) — 10.
Напишите программу, которая вначале случайным образом выдаёт пользователю и компьютеру по две карты и затем запрашивает у пользователя действие: взять карту или остановиться. На экран должна выдаваться информация о руке пользователя. После того как игрок останавливается, выведите на экран победителя.
Представление карты реализуйте с помощью класса.
Дополнительно: сделайте так, чтобы карты не могли повторяться.
Ваши классы в этой задаче могут выглядеть так:
class Card:
# Карта, у которой есть значения
# - масть
# - ранг/принадлежность 2, 3, 4, 5, 6, 7 и так далее
pass
class Deck:
# Колода создаёт у себя объекты карт
pass
class Player:
# Игрок, у которого есть имя и какие-то карты на руках
pass
Решение:
Решение можно скачать с Boosty.to
Как можно отблагодарить:
- Оформить удобную для вас подписку на Boosty.to
- Разово поддержать через DonationAlerts
