Я создаю игру 15x15 ti c ta c toe. Одно из условий - проверить, выиграл ли пользователь, что в этом случае пользователю нужно получить 5 подряд ... по горизонтали, диагонали или вертикали. Я не понимаю, как это проверить. Любая помощь приветствуется, и, пожалуйста, придерживайтесь основных c возможностей Python, поскольку я только начинаю. Мой код ниже.
class FiveBoard:
""""""
def __init__(self):
""""""
self._board_list = [
['', '', '', '', '', '', '', '', '', '', '', '', '', '', ''], # 1
['', '', '', '', '', '', '', '', '', '', '', '', '', '', ''], # 2
['', '', '', '', '', '', '', '', '', '', '', '', '', '', ''], # 3
['', '', '', '', '', '', '', '', '', '', '', '', '', '', ''], # 4
['', '', '', '', '', '', '', '', '', '', '', '', '', '', ''], # 5
['', '', '', '', '', '', '', '', '', '', '', '', '', '', ''], # 6
['', '', '', '', '', '', '', '', '', '', '', '', '', '', ''], # 7
['', '', '', '', '', '', '', '', '', '', '', '', '', '', ''], # 8
['', '', '', '', '', '', '', '', '', '', '', '', '', '', ''], # 9
['', '', '', '', '', '', '', '', '', '', '', '', '', '', ''], # 10
['', '', '', '', '', '', '', '', '', '', '', '', '', '', ''], # 11
['', '', '', '', '', '', '', '', '', '', '', '', '', '', ''], # 12
['', '', '', '', '', '', '', '', '', '', '', '', '', '', ''], # 13
['', '', '', '', '', '', '', '', '', '', '', '', '', '', ''], # 14
['', '', '', '', '', '', '', '', '', '', '', '', '', '', ''] # 15
]
self._current_state = "UNFINISHED"
def get_current_state(self):
""""""
return self._current_state
def print_board(self):
for row in self._board_list:
print(row)
def make_move(self, row, col, mark):
""""""
for row in self._board_list:
for col in row:
if col == 'x':
elif col == 'o':
if self._current_state == "DRAW":
return False
if mark == 'o':
if self._board_list[row][col] == '':
self._board_list[row][col] = mark
return True
else:
return False
elif mark == 'x':
if self._board_list[row][col] == '':
self._board_list[row][col] = mark
return True
else:
return False
count = 0
for row in self._board_list:
for col in row:
if col != '':
count += 1
if count == 225:
self._current_state = "DRAW"
board = FiveBoard()
board.print_board()
print("--------------------------------------------------------------")
board.make_move(0, 14, 'x')
board.print_board()
print("--------------------------------------------------------------")
board.make_move(6, 11, 'x')
board.print_board()
print("--------------------------------------------------------------")