Войти Создать аккаунт

Войдите, чтобы продолжить.

Игра «Крестики-нолики» · Шаг 1 из 5

Поставить знак

Поле — три ряда по три клетки, вложенные списки: «.» — свободно, «X» и «O» — знаки. Щелчок ставит знак в клетку. Только в свободную — и так, чтобы прежнее поле осталось как было: боту, который будет перебирать ходы, нужно пробовать их на копиях.

Что сделать

Поставьте знак в клетку — только в свободную и не трогая прежнее поле.

Что приходит

  • pole — поле, список рядов: "." — свободно, "X" и "O" — знаки

  • stroka и stolbec — клетка, номера с нуля

  • znak — "X" или "O"

Что вернуть

Пару: клетка есть и свободна — (новое поле со знаком, True), иначе — (pole, False); новое поле — отдельная копия.

Допишите функцию postavit в редакторе справа. Результат верните через return — то, что напечатано, на проверку не влияет.

В игре

Игра зовёт postavit на ваш щелчок и на ход бота. False значит, что ход не состоялся: щелчок по занятой клетке ничего не делает. Решите шаг — и знаки перестанут затирать друг друга.

Без этого шага: знак ставится и в занятую клетку.

Вызов
postavit([[".", ".", "."], [".", "X", "."], [".", ".", "."]], 0, 2, "O")
Вернуть
([['.', '.', 'O'], ['.', 'X', '.'], ['.', '.', '.']], True)

Готовая игра →

Ctrl+Enter — проверить

Обсуждение

Вопросов пока нет.

Войдите, чтобы спросить.