【发布时间】:2010-10-02 03:50:17
【问题描述】:
除了对角线获胜的测试之外,这段代码的所有内容似乎都运行良好。垂直和水平获胜的测试似乎是完全相同的概念,并且它们运行良好。
cmets 应该主要解释它,但测试应该基本上遍历电路板并检查左下角的 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
【问题讨论】:
-
旁注:使用
for i in range(2, -1, -1):而不是古怪的while循环。另外,您是否有某些原因要向后迭代?range(3)会更简单。 -
好点,但实际上并没有解决它。编辑了问题。
标签: python