o = 2

问题描述 投票:0回答:1

我试着用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 = 数组中的所有炸弹。

Problem我在以下问题上也有同样的问题。

b b o

o i b

--> b = 炸弹

python minesweeper
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.