我试着用python对Minesweeper进行编程。在计算被炸弹包围的区域的数量时,我得到了一个更糟糕的问题--没有错误......
我的代码是
for i in range(len(bombs)):
numbers[bombs[i]] = -1
if (bombs[i][0] > 0):
if (numbers[(bombs[i][0]-step, bombs[i][1]+0)] != -1):
numbers[(bombs[i][0]-step, bombs[i][1]+0)] = numbers[(bombs[i][0]-step, bombs[i][1]+0)] + 1
if (bombs[i][1] > 0):
if (numbers[(bombs[i][0]-step, bombs[i][1]-step)] != -1):
numbers[(bombs[i][0]-step, bombs[i][1]-step)] = numbers[(bombs[i][0]-step, bombs[i][1]-step)] + 1
if (bombs[i][1] < heigth-step-1):
if (numbers[(bombs[i][0]-step, bombs[i][1]+step)] != -1):
numbers[(bombs[i][0]-step, bombs[i][1]+step)] = numbers[(bombs[i][0]-step, bombs[i][1]+step)] + 1
if (bombs[i][0] < width-step-1):
if (numbers[(bombs[i][0]+step, bombs[i][1]+0)] != -1):
numbers[(bombs[i][0]+step, bombs[i][1]+0)] = numbers[(bombs[i][0]+step, bombs[i][1]+0)] + 1
if (bombs[i][1] > 0):
if (numbers[(bombs[i][0]+step, bombs[i][1]-step)] != -1):
numbers[(bombs[i][0]+step, bombs[i][1]-step)] = numbers[(bombs[i][0]+step, bombs[i][1]-step)] + 1
if (bombs[i][1] < heigth-step-1):
if (numbers[(bombs[i][0]+step, bombs[i][1]+step)] != -1):
numbers[(bombs[i][0]+step, bombs[i][1]+step)] = numbers[(bombs[i][0]+step, bombs[i][1]+step)] + 1
if (bombs[i][1] > 0):
if (numbers[(bombs[i][0]+0, bombs[i][1]-step)] != -1):
numbers[(bombs[i][0]+0, bombs[i][1]-step)] = numbers[(bombs[i][0]+0, bombs[i][1]-step)] + 1
if (bombs[i][1] < heigth-step-1):
if (numbers[(bombs[i][0]+0, bombs[i][1]+step)] != -1):
numbers[(bombs[i][0]+0, bombs[i][1]+step)] = numbers[(bombs[i][0]+0, bombs[i][1]+step)] + 1
step = 炸弹区域的大小
bombs = 数组中的所有炸弹。
b b o
o i b
--> b = 炸弹