扫雷 是一款流行的游戏,玩家要根据数字提示找出地雷,提示中的数字表示与该方格直接相邻(水平、垂直或斜向)的地雷数量。
你的任务是在一个已完成的扫雷棋盘中,为空格填上周围的地雷数量。
棋盘是一个由方格组成的矩形,每个方格要么是空格(' '),要么是一颗地雷('*')。
对于每个空格,数出与它相邻的地雷数量(水平、垂直、对角都算)。 如果这个空格周围没有地雷,就把它留空。 否则,把它替换为相邻地雷的数量。
例如,你可能会收到一个 5 x 4 的棋盘,像这样(为了在屏幕上显示,这里用 '·' 字符表示空格):
·*·*·
··*··
··*··
·····
你的代码应该把它变成这样:
1*3*1
13*31
·2*2·
·111·
x,y 坐标通常用 Point 来表示,这样就可以借助一些实用的 point 函数。另外,把它表示成二维数组也很有用。无论采用哪种方式,定义一些描述性的扩展方法,都能让你的解答更易读、更优雅。