04
Июл
2022

Крестики нолики 10х10

Никак не получается реализовать функцию, которая считает крестики и нолики по диагонали, вертикали и горизонтали, вычисляя победителя.
Побеждает линия из 5 символов.

Функцию, которую пишу сейчас, но она не работает:

def who_win(self):
    for y in range(10):
        for x in range(10):
            ch = self.board[y][x]
            win = True
            for i in range(1, 11):
                if self.board[y + i][x + i] != ch:
                    win = False
                    break
            if win:
                if ch == 'X':
                    self.winner = 'X'
                elif ch == 'O':
                    self.winner = 'O'
    for y in range(4, 10):
        for x in range(6):
            ch = self.board[y][x]
            win = True
            for i in range(1, 10):
                if self.board[y - i][x + i] != ch:
                    win = False
                    break
            if win:
                if ch == 'X':
                    self.winner = 'X'
                elif ch == 'O':
                    self.winner = 'O'
    return self.winner

Источник: https://ru.stackoverflow.com/questions/1426640/%D0%9A%D1%80%D0%B5%D1%81%D1%82%D0%B8%D0%BA%D0%B8-%D0%BD%D0%BE%D0%BB%D0%B8%D0%BA%D0%B8-10%D1%8510

Тебе может это понравится...

Добавить комментарий