Что не так с этим игровым кодом Tic-Tac-Toe? - PullRequest
0 голосов
/ 24 июня 2019

Я пытаюсь сделать игру Tic-Tac-Toe для Python, и доска не меняется, когда должна.

Я проверил, что код внутри оператора if выполняется, поэтому я знаю, что это не проблема.

#defines the Tic-Tac-Toe board (dictionary)
board={'L1':' ','M1':' ','R1':' ',
       'L2':' ','M2':' ','R2':' ',
       'L3':' ','M3':' ','R3':' '}
#if the computer or the player are about to get three in a row (this is only one of the many combinations I added)
if board['L1']==board['L2']!=' ' and board['L3']==' ':
    #x1 is a variable that determines if the player is X's or O's (first or second)
    if x1==1:
        board['L3']=='O'
        else:
            board['L3']=='X'
        #board
        played=1

Вот ссылка на мой полный код: https://repl.it/repls/BruisedBusyGraph (Попробуйте запустить его с уровнем сложности 2)

Я ожидал, что плата изменит свой атрибут L3 на X или O после выполнения кода, но он остался пустым даже после выполнения оператора if.

1 Ответ

0 голосов
/ 24 июня 2019

Проблемы возникают из этой части:

if x1==1:
    board['L3']=='O'
    else:
        board['L3']=='X'

Вы смешиваете тест на равенство == и оператор присваивания =

Изменение этой части со следующим должно работать:

if x1==1:
    board['L3']='O'
    else:
        board['L3']='X'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...