除了对角线胜利的测试外,关于此代码的所有内容似乎都能完美运行。纵向和横向胜利的测试似乎是完全相同的概念,并且它们完美地工作。
评论应该主要解释它,但是测试应该基本上遍历棋盘并检查左下角的x(唯一的正对角线可以开始的地方)。然后它上升到正确的一个空间四次以检查连续四个。
这是有问题的功能。
#for diagonal
#not working! WHYYYY
def winnertest3():
for i in range(3):
for e in range(4):
print i,e
if board[i][e]=='X' and board[i+1][e+1]=='X' and board[i+2][e+2]=='X' and board[i+3][e+3]=='X':
print "X wins!!!!"
return 'over'
return 'on'
http://github.com/keevie/Computer-Science/blob/master//board1.py
答案 0 :(得分:1)
它对我有用。我从右下角开始用X,然后沿对角线向左移动。我也在那个初始位置的左边开了一个。然而,当我连续得到4个X时,它并没有立即停止 - 我不得不放入另一个O因为它只检查是否应该在放置O之后停止游戏。你有没有测试过正确的对角线?