2

我正在尝试创建一个类似于蛇的游戏。不同之处在于通过使用 randint 获得食物配给,然后玩家将能够选择蛇应该向哪个方向生长,起始位置也是随机选择的。游戏场是用矩阵构建的,因此可以通过选择使列表超出范围的增长方向来“陷入困境”。

我的问题是,如果玩家选择以使列表超出范围的方式增长,是否可以创建一个 if 语句以“游戏结束”结束游戏,例如:

if IndexError: list index out of range : 
         print("Game over")

通过异常处理,我的代码看起来像这样:

 try :

    if p == 0:
        table[x][y] = "+"
    elif p == 1:
        table[x][y] = "+"
        table[x][y+1] = "+"
    elif p == 2:
        table[x][y] = "+"
        table[x][y+1] = "+"
        table[x][y+2] = "+"
    else:
        table[x][y] = "+"
        table[x][y+1] = "+"
        table[x][y+2] = "+"
        table[x][y+3] = "+"
 except IndexError :
                 print ("Game Over")

但我收到错误“未缩进与任何外部缩进级别不匹配”

4

1 回答 1

9

使用异常处理

 try :
     #your code
 except IndexError:
    print "Game Over"
于 2012-11-17T18:33:31.463 回答