Tik Ta c Состояние победы - PullRequest
       4

Tik Ta c Состояние победы

0 голосов
/ 17 февраля 2020

Я пытаюсь написать программу tik ta c toe на python. Но я застрял на поиске решения проблемы нахождения условия победы. Вот мой код на данный момент:

tik_tac_toe_board = []
diagonal_one = []
diagonal_two = []
n = 3

for i in range(3):
row = []
for y in range(3):
    row.append("")
tik_tac_toe_board.append(row)

x_or_o_selection = input("Are you going to be using x's or o's: ")
print(x_or_o_selection)

while True:
    diagonal_one = []
    diagonal_two = []
    columns = [[], [], []]
    rows = [[], [], []]

    input_tik = input("x or o, with position(x,y): ")

    list_placeholder = input_tik.split(",")
    position = list_placeholder[1:]
    x_or_o = list_placeholder[0]
    if x_or_o != x_or_o_selection:
        print("invalid input")
    elif x_or_o != "x" and x_or_o != "o":
        print("invalid input")
    elif x_or_o == "x" or x_or_o == "o":
        tik_tac_toe_board[int(position[0])][int(position[1])] = (list_placeholder[0])

    columns[0] = [tik_tac_toe_board[0][0], tik_tac_toe_board[1][0], tik_tac_toe_board[2][0]]
    columns[1] = [tik_tac_toe_board[0][1], tik_tac_toe_board[1][1], tik_tac_toe_board[2][1]]
    columns[2] = [tik_tac_toe_board[0][2], tik_tac_toe_board[1][2], tik_tac_toe_board[2][2]]

    rows[0] = [tik_tac_toe_board[0]]
    rows[1] = [tik_tac_toe_board[1]]
    rows[2] = [tik_tac_toe_board[2]]

    for i in range(0, len(tik_tac_toe_board)):
        diagonal_one.append(tik_tac_toe_board[i][i])

    for i in range(0, len(tik_tac_toe_board)):
        diagonal_two.append(tik_tac_toe_board[(n-i)-1][i])

    if rows[0][1:] == rows[0][:-1]:
        print("winner")
        break

    print(tik_tac_toe_board[0])
    print(tik_tac_toe_board[1])
    print(tik_tac_toe_board[2])

Я пытался установить условие выигрыша, используя первую строку таблицы тик та c для тестирования, но даже когда условие выигрыша выполнено, код не распознает победителя и не ломается.

...