Я создаю игру на Tic-Tac-Toe в питоне и изо всех сил пытаюсь создать модуль, который обнаруживает, что кто-то выиграл. Я передаю 2 вещи в модуль, плату и набор выигрышных комбинаций: win_comb=((0,1,2),(3,4,5),(6,7,8),(6,3,0),(7,4,1),(8,5,2),(6,4,2),(8,4,0))
Система обнаружения выигрыша Tic-tac-toe-Python
Модуль, в котором я использую, чтобы проверить, выиграл ли кто-либо. Модуль вызывается после выполнения 4 ходов. Если кто-то выиграл, он должен вернуть 1, но если у кого-то нет, то он должен вернуть -1.
def Check_Results(Board,win_comb):
for each in win_comb:
try:
if (Board[each[0]] == Board[each[1]] and Board[each[1]]== Board[each[2]] and Board[each[0]]==Board[each[2]]):
return 1
else:
each=each+1
except:
pass
return -1
не связан с вопросом, но взгляните на [предложения PEP8 для именования] (https://www.python.org/dev/peps/pep-0008/#naming-conventions). Он не меняет того, как работает код вообще, но он делает его намного проще для всех, кто его читает. 'Board' ->' board', 'Check_Results' ->' check_results' и т. Д. – Holloway
Вам нужно только проверить каждую строку (или столбец) и одну диагональ. Впоследствии, [транспонировать] (http://stackoverflow.com/questions/21444338/transpose-nested-list-in-python) ваш совет и повторите. –