Сделать игру "Кости" на Python
Условия:
В начальный момент у играющего 100 очков.
Играющий называет любое число в диапазоне от 2 до 12 и ставку, которую он делает в этот ход.
Программа выбирает два случайных числа от 1 до 6 («бросает кубик», на гранях которого цифры от 1 до 6).
Если сумма выпавших цифр меньше 7 и играющий задумал число меньшее 7, он выигрывает сделанную ставку. Если сумма выпавших цифр больше 7 и играющий задумал число большее 7, он также выигрывает сделанную ставку. Если играющий угадал сумму цифр, он получает в четыре раза больше очков, чем сделанная ставка.
Ставка проиграна, если не имеет место ни одна из описанных ситуаций.
При израсходовании всех очко игра заканчивается, после каждой попытки предлагается закончить игру.
Answers & Comments
Verified answer
Программа:
Python:
from random import randint
pts = 100
while pts > 0:
num, bet = map(int, input('Введите число от 2 до 12 и ставку: ').split())
if bet > pts: print(f'У вас не хватает очков! Вы имеете {pts} очков.')
else:
cube1, cube2 = randint(1,6), randint(1,6)
print(f'Первый куб: {cube1}, второй куб: {cube2}')
summ = cube1 + cube2
if (summ < 7 and num < 7) or (summ > 7 and num > 7):
pts += bet
print(f'Ваша ставка прошла! Теперь у вас {pts} очков.')
elif summ == num:
pts += bet * 4
print(f'Ваша ставка прошла! Теперь у вас {pts} очков.')
else:
pts -= bet
print(f'Ваша ставка не прошла! Теперь у вас {pts} очков.')
if input('Желаете закончить игру (да/нет)? ').lower() == 'да':
print(f'Вы закончили игру с {pts} очков.')
break
Ответ:
from random import randint
points = 100
gameover = False
while not gameover and points > 0:
print('Ваш баланс: ', points)
while True:
choice = int(input('Введите число на которое хотите поставить(2-12): '))
if choice in range(2,13):
break
print('Ставка должна быть в диапазоне от 2 до 12!')
while True:
bet = int(input('Введите сумму ставки: '))
if bet <= points:
break
print('Недостаточно балланса для такой ставки!')
points -= bet
rand1 = randint(1,6)
rand2 = randint(1,6)
result = rand1 + rand2
print('Выпали числа {} и {}. Сумма = {}'.format(rand1, rand2, result))
if result == choice:
print('Вы выиграли x4 свой ставки!')
points += bet*4
elif (result < 7 and choice < 7) or (result > 7 and choice > 7):
print('Вы выиграли свою ставку!')
points += bet * 2
else:
print('Вы проиграли ставку!')
gameover = bool(input('Если хотите выйти, введите любой символ. Если хотите продолжить - нажмите Enter: '))
print('Game Over. У вас закончились баллы или вы захотели выйти из игры.')
Объяснение: