简单的python连接4游戏。为什么这个测试不起作用?

时间:2010-10-02 03:50:18

标签: python

除了对角线胜利的测试外,关于此代码的所有内容似乎都能完美运行。纵向和横向胜利的测试似乎是完全相同的概念,并且它们完美地工作。

评论应该主要解释它,但是测试应该基本上遍历棋盘并检查左下角的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

1 个答案:

答案 0 :(得分:1)

它对我有用。我从右下角开始用X,然后沿对角线向左移动。我也在那个初始位置的左边开了一个。然而,当我连续得到4个X时,它并没有立即停止 - 我不得不放入另一个O因为它只检查是否应该在放置O之后停止游戏。你有没有测试过正确的对角线?