Игра ним для двух игроков с одной кучей и ограничением на количество забираемых камней: за один ход можно взять не больше трёх камней.
Напишите программу с «искусственным интеллектом» (ИИ), которая играет против пользователя и выигрывает, если может. Исходное количество камней в куче задаёт пользователь, программа всегда ходит первой. После каждого хода пользователя и программы необходимо сообщать, сколько камней взято и сколько осталось. В конце необходимо сообщить, кто выиграл.
Пользователь в свой ход вводит количество камней до тех пор, пока не введёт разрешённое число — от одного до трёх (или меньше — если камней осталось меньше).
При вводе некорректного значения необходимо вывести фразу: Некорректный ход: и заново потребовать вводить данные.
После хода игрока или ИИ необходимо вывести два числа: сколько камней было взято и сколько камней осталось в куче.
Если выигрывает игрок, то надо вывести фразу: Вы выиграли!, а если ИИ - фразу: ИИ выиграл!
Все сообщения программы должны строго соответствовать условию.

Ответы

Ответ дал: theraday
9

Ответ (на Python):

n = int(input())

while n > 0:

   n1 = n % 4

   if n1 == 0:

       n1 = 2

   n -= n1

   print(n1, n)

   if n == 0:

       print('ИИ выиграл!')

   else:

       n1 = int(input())

       while not (1 <= n1 <= 3 and n1 <= n):

           print('Некорректный ход:', n1)

           n1 = int(input())

       n -= n1

       print(n1, n)

       if n == 0:

           print('Вы выиграли!')

Похожие вопросы