如何使用递归迭代网格中的周围位置?

时间:2017-10-16 19:06:54

标签: python recursion

我正在创建一个mineseweeper游戏。

它要求用户输入(行,列)以“点击”网格中的某个位置。该位置显示的数字表示网格上8个周围位置的炸弹数量。有定期炸弹,让你失去生命,接近炸弹,也揭示了所有8个周围的位置。

我需要使用递归函数:

  • 浏览网格中某个位置的周围项目以计算炸弹数量,以便知道要在该位置放置哪个数字。

  • 当我'点击''接近'炸弹时,它会暴露所有周围的物品。

  • 当我点击'0'时,它会检查周围的项目并公开所有其他'0'及其周围的项目,例如:

X X X X X
X X X X X
X X X X X
1 1 1 1 1
0 0 0 0 0

网格= 5 X 5,显示为

X X X X X
X X X X X
X X X X X
X X X X X
X X X X X

用户输入请求行和列,然后将其作为字典键存储在元组中。每次转弯后,它重新打印网格,显示存储在字典中的先前转弯。

这就是我现在所拥有的:浏览周围的位置并计算该位置的数量。因此,如果数字为“0”,我必须透露周围的位置,他们也会通过周围的位置检查

> def getNum(pos, bombPos, grid):
>     num = 0
>     for i in range(pos[0] - 1, pos[0]+2):
>         for j in range(pos[1]-1, pos[1] + 2):
>             if (i,j) != pos:
>                 if (i,j) == bombPos:
>                     num += 1

我很难把握递归概念作为一个整体,以及如何在这个项目中使用它。任何帮助表示赞赏。感谢。

0 个答案:

没有答案