Advertisement
NozdrachevNN

sweets_v2

Jul 28th, 2022
1,106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.29 KB | None | 0 0
  1. # Создайте программу для игры с конфетами человек против человека.
  2. # Условие задачи: На столе лежит 2021 конфета. Играют два игрока делая ход друг после друга.
  3. # Первый ход определяется жеребьёвкой. За один ход можно забрать не более чем 28 конфет.
  4. # Тот, кто берет последнюю конфету - проиграл.
  5. # игра с другом
  6.  
  7.  
  8. import random
  9.  
  10. print(
  11.     '"Игра с конфетами"\n'
  12.     'В игре участвуют два игрока.\n'
  13.     'Первый ход определяется жеребьевкой.\n'
  14.     'Игроки ходят, совершая ход друг после друга.\n'
  15.     'Правила игры:\n'
  16.     'У нас есть некоторое количество конфет,\n'
  17.     'За один ход можно забрать не более определенного количества конфет, о котором мы договоримся,\n'
  18.     'Тот, кому достанется последняя конфета - проиграл!\n'
  19.     )
  20.  
  21. messages = ['Ваш ход брать конфеты', 'Возьмите конфеты',
  22.             'сколько конфет берем?', 'берите еще', 'Ваш ход']
  23.  
  24. def game_friends_vs_friends(total_sweets, max_number_move, players, messages):
  25.     count = 0
  26.     if total_sweets%10 == 1 and 9 > total_sweets > 10: letter = 'а'
  27.     elif 1 < total_sweets%10 < 5 and 9 > total_sweets > 10: letter = 'ы'
  28.     else: letter = ''
  29.  
  30.  
  31.     while total_sweets > 0:
  32.         print(f'{players[random.randint(0, 1)]}, {random.choice(messages)}')
  33.         move = int(input())
  34.         if move > total_sweets or move > max_number_move:
  35.             print(f'Можно взять не более {max_number_move} конфет{letter}, у нас всего {total_sweets} конфет{letter}')
  36.             chance = 2
  37.             while chance > 0:
  38.                 if total_sweets >= move <= max_number_move:
  39.                     break
  40.                 print(f'Попробуйте ещё раз, у Вас {chance} попытки')
  41.                 move = int(input())
  42.                 chance -=1
  43.             else:
  44.                 return print(f'Попыток не осталось. Game over!')
  45.         total_sweets = total_sweets - move
  46.         if total_sweets > 0: print(f'Осталось {total_sweets} конфет{letter}')
  47.         else: print('Все конфеты разобраны.')
  48.         count +=1
  49.     return players[count%2]
  50.  
  51. player1 = input('Первый игрок, как к Вам можно обращаться?\n')
  52. player2 = input('Второй игрок, Ваше имя?\n')
  53. players = [player1, player2]
  54.  
  55. total_sweets = int(input('Введите cколько всего у нас конфет:\n'))
  56. max_number_move = int(input('Введите количество конфет, которое можно забрать за один ход:\n'))
  57.  
  58. winer = game_friends_vs_friends(total_sweets, max_number_move, players, messages)
  59. if not winer:
  60.     print('Победителя нет.')
  61. else: print(f'Поздравляю! Победил {winer}!')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement