首页 > 解决方案 > 为什么赢得比赛后我的获胜者变量不增加 1?

问题描述

在我制作的这个井字游戏中

我让它每回合都打印获胜者变量,当有人获胜时,winner = 1它不起作用。 如果我将获胜者 = 1 更改为

winner = winner + 1

它出现了一堆错误......花了一些时间进行故障排除,我真的不确定。

我会试着自己弄清楚,但如果我没有得到它,我会喜欢一些帮助!:)

我敢肯定还有很多其他地方的做法不好,所以请告诉我!来这里学习。

谢谢你。

counter = 0
winner  = 0
blankBoard = ['','','','','','','','','','']
board = ['','','','','','','','','','']


def checkX(board):

if board[1] and board[2] and board[3] == 'x':
    print('x  Wins!')
    winner = 1
if board[4] and board[5] and board[6] == 'x':
    print('x  Wins!')
    winner = 1
if board[7] and board[8] and board[9] == 'x':
    print('x  Wins!')
    winner = 1

if board[1] and board[5] and board[9] == 'x':
    print('x  Wins!')
    winner = 1
if board[7] and board[5] and board[3] == 'x':
    print('x  Wins!')
    winner = 1


if board[1] and board[4] and board[7] == 'x':
    print('x  Wins!')
    winner = 1
if board[2] and board[5] and board[8] == 'x':
    print('x  Wins!')
    winner = 1
if board[3] and board[6] and board[9] == 'x':
    print('x  Wins!')
    winner = 1

def checkO(board):


if board[1] and board[2] and board[3] == 'o':
    print('o  Wins!')
    winner = 1
if board[4] and board[5] and board[6] == 'o':
    print('o  Wins!')
    winner = 1
if board[7] and board[8] and board[9] == 'o':
    print('o  Wins!')
    winner = 1

if board[1] and board[5] and board[9] == 'o':
    print('o  Wins!')
    winner = 1
if board[7] and board[5] and board[3] == 'o':
    print('o  Wins!')
    winner = 1


if board[1] and board[4] and board[7] == 'o':
    print('o  Wins!')
    winner = 1
if board[2] and board[5] and board[8] == 'o':
    print('o  Wins!')
    winner = 1
if board[3] and board[6] and board[9] == 'o':
    print('xo Wins!')
    winner = 1

def checkTie(board):

   if board[1] and board[2] and board[3] and board[4] and board[5] and board[6] and board[7] and board[8] and board[9] != '':
        print('Tie game!')
        flipPlayer()

def flipPlayer():
    if counter == 0:
        counter = 1

    if counter == 1:
        counter = 0

    newGame = input('would you like to play again?')

    if newGame == 'yes':

        drawboard(blankBoard)

    else:
        print('goodbye')


def checkTerminal(board):
    winner  = 0

    checkX(board)
    checkO(board)
    checkTie(board)

    if winner == 1:
        flipPlayer()

def drawBoard(board):
    print(board[1] + '|' + board[2] + '|' + board[3] + '|')
    print(board[4] + '|' + board[5] + '|' + board[6] + '|')
    print(board[7] + '|' + board[8] + '|' + board[9] + '|')

    playerMove(board)

def playerMove(board):
    print(winner)

    global counter


    checkTerminal(board)

    move = int(input('What Space Would you Like to Move to?'))

    if counter == 0:
        board[move] = 'x'
        counter = 1
        drawBoard(board)
        playerMove(board)

    if counter == 1:
        board[move] = 'o'
        counter = 0
        drawBoard(board)
        playerMove(board)


#if winner == 1:
        #flipPlayer()


drawBoard(board)





#Board
#Display Board
#Check Winner
    #Check Row
    #Check Column
    #check Diagonal
#Check Tie
#Flip Player

标签: pythonpython-3.xtic-tac-toe

解决方案


推荐阅读