NozdrachevNN

sweets_v3

Jul 28th, 2022
939
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.56 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.  
  25. def game_friends_vs_friends(total_sweets, max_number_move, players, messages):
  26.     count = 0
  27.     if total_sweets % 10 == 1 and 9 > total_sweets > 10:
  28.         letter = 'а'
  29.     elif 1 < total_sweets % 10 < 5 and 9 > total_sweets > 10:
  30.         letter = 'ы'
  31.     else:
  32.         letter = ''
  33.     first = random.randint(0, 1)
  34.     print (f'\nПервый ход определён жеребьёвкой, начинает игрок № {first + 1}')
  35.  
  36.     #count=first
  37.  
  38.     while total_sweets > 0:
  39.         #print(f'{players[random.randint(0, 1)]}, {random.choice(messages)}')
  40.  
  41.         move = int(input(f'{players[first % 2]}: '))
  42.         if move > total_sweets or move > max_number_move:
  43.             print(f'Можно взять не более {max_number_move} конфет{letter}, у нас всего {total_sweets} конфет{letter}')
  44.             chance = 2
  45.             while chance > 0:
  46.                 if total_sweets >= move <= max_number_move:
  47.                     break
  48.                 print(f'Попробуйте ещё раз, у Вас {chance} попытки')
  49.                 move = int(input())
  50.                 chance -= 1
  51.             else:
  52.                 return print(f'Попыток не осталось. Game over!')
  53.         total_sweets = total_sweets - move
  54.         if total_sweets > 0:
  55.             print(f'Осталось {total_sweets} конфет{letter}')
  56.         else:
  57.             print('Все конфеты разобраны.')
  58.         first += 1
  59.     return players[first % 2]
  60.  
  61.  
  62. player1 = input('Первый игрок, как к Вам можно обращаться?\n')
  63. player2 = input('Второй игрок, Ваше имя?\n')
  64. players = [player1, player2]
  65.  
  66. total_sweets = int(input('Введите cколько всего у нас конфет:\n'))
  67. max_number_move = int(input('Введите количество конфет, которое можно забрать за один ход:\n'))
  68.  
  69. winer = game_friends_vs_friends(total_sweets, max_number_move, players, messages)
  70. if not winer:
  71.     print('Победителя нет.')
  72. else:
  73.     print(f'Поздравляю! Победил {winer}!')
Advertisement
Add Comment
Please, Sign In to add comment