Продолжаем программировать крестики - нолики. Опишите еще пару функций: symbol(step): Функция получает в качестве аргумента номер хода в игре и возвращает символ, который сейчас нужно поставить: "X" или "O"
check_step(table, i, j): Функция проверяет, что в таблице table able есть клетка с индексами [i][j] и что эта клетка - пустая. Возвращает True, если эти условия выполнены и False в противном случае.
В основной программе организуйте цикл на 5 ходов. Каждый ход должен быть оформлен диалогом с игроком и выводом на экран игрового поля. Вот пример игрового диалога:
то что должна выводить программа:
Игра в крестики нолики
. . .
. . .
. . .
Ходят X
Куда ходим? Введите номер строки и столбца:
2
2
. . .
. X .
. . .
Ходят O
Куда ходим? Введите номер строки и столбца:
1
3
. . O
. X .
. . .
Ходят X
Куда ходим? Введите номер строки и столбца:
1
3
Эта клетка уже занята
…
Сама программа в котрой надо что-то сделать:
N = 3
def create_table():
table = [['.'] * N for i in range(N)]
return table
def print_table(table):
for row in table:
for cell in row:
print(cell, end = ' ')
print()
# здесь разместите описание функций
game = create_table()
step = 1
print('Игра в крестики нолики')
for i in range(5):
print_table(game)
# начинаем ход игрока
print('Ходят', symbol(step))
print('Куда ходим? Введите номер строки и столбца:')
row = int(input()) - 1
column = int(input()) - 1
# проверяем ход игрока и ставим символ:
if check_step(game, row, column):
game[row][column] = symbol(step)
step += 1 #№переходим к следующему ходу
print('Конец игры!')
print_table(game)