python - 为什么赢得比赛后我的获胜者变量不增加 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
解决方案
推荐阅读
- javascript - npm run build 不显示任何内容 - 反应 js
- javascript - JavaScript 循环从数组中随机选取
- jquery - jquery e.stopPropagation 防止将值返回给函数
- x86 - 超线程内核是否共享 MMU 和 TLB?
- python - 如何将向量中的数值和分类值组合为 LSTM 的输入?
- angular - Angular:Angular 中的 http.get() 方法不会为 API 的第二次相同请求调用提供更新的响应
- laravel - 我安装了 Facebook 标准事件像素“Lead”并返回为“SuccessCall”?
- haskell - 功能组合中的类型推导
- ruby-on-rails - 如何在rails中使用public_activity gem跟踪设计登录和注销
- javascript - 如何从输入框中获取一些输入,放入变量中,然后使用 HTML 和 Javascript 输出到 span id?