Привет! Я работаю над connect4, используя язык Python.Вот пример: https://www.mathsisfun.com/games/connect4.html
Версия, над которой я работаю, позволяет пользователю устанавливать количество строк, столбцов, а также количество выигрывающих дисков.Я застрял при проверке диска по диагонали.
В настоящее время приведенный ниже код довольно жестко запрограммирован, но он отлично работает при проверке 4 подключенных дисков.
# Check positively sloped diaganols
for c in range(COLUMN_COUNT-3):
for r in range(ROW_COUNT-3):
if board[r][c] == piece and board[r+1][c+1] == piece and board[r+2][c+2] == piece and board[r+3][c+3] == piece:
return True
# Check negatively sloped diaganols
for c in range(COLUMN_COUNT-3):
for r in range(3, ROW_COUNT):
if board[r][c] == piece and board[r-1][c+1] == piece and board[r-2][c+2] == piece and board[r-3][c+3] == piece:
return True
Мне удалось выполнить код для горизонтальной и вертикальной проверки.Просто интересно, как мне перевести вышеприведенный алгоритм, чтобы он по-прежнему работал, если число подключенных дисков для выигрыша может быть любым числом (по диагонали)?(и т.д. 3 или 5 дисков, чтобы выиграть)