Проверка Python Connect4 на выигрыш по диагонали динамически - PullRequest
0 голосов
/ 21 октября 2018

Привет! Я работаю над 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 дисков, чтобы выиграть)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...