趣学Python游戏编程
上QQ阅读APP看书,第一时间看更新

3.3.3 统计地雷数量

现在回过头来看看,怎样才能知道方块周围有多少地雷呢?由于已经有了get_neighbours()函数,这个问题便迎刃而解了。对于某个方块来说,可以首先调用get_neighbours()函数来获取它周围的所有其他方块,然后逐一检查这些方块是否埋了地雷,同时统计一下地雷的总数。与之前类似,再单独定义一个函数get_bomb_number(),用来获取指定方格周围的地雷数量。代码如下所示:

上面的get_bomb_number()函数传入一个参数bk,表示某个指定的方块。然后以bk作为参数去调用get_neighbours()函数,来获取bk相邻方块的列表,同时执行for语句遍历该列表。对于与bk相邻的每个方块,检查它的isbomb属性是否为True,若是则将num变量的值加1。num变量的作用正是统计地雷的总数,它的值将在函数的末尾通过return语句返回。

万事俱备,是时候实现open_block()函数了。