Python实现3D扫雷算法

情到浓时终转凉″ 提交于 2020-01-06 23:11:32
from random import randint

h = [[["   "]*5 for x in range(5)] for i in range(5)]

for x in range(25):
    h[randint(0,4)][randint(0,4)][randint(0,4)] = "[M]"

def around(a,b,c):
    k = [[a-1,b-1,c-1],[a-1,b-1,c],[a-1,b-1,c+1],[a-1,b,c-1],[a-1,b,c],[a-1,b,c+1],[a-1,b+1,c-1],[a-1,b+1,c],[a-1,b+1,c+1],
        [a,b-1,c-1],[a,b-1,c],[a,b-1,c+1],[a,b,c-1],[a,b,c+1],[a,b+1,c-1],[a,b+1,c],[a,b+1,c+1],
        [a+1,b-1,c-1],[a+1,b-1,c],[a+1,b-1,c+1],[a+1,b,c-1],[a+1,b,c],[a+1,b,c+1],[a+1,b+1,c-1],[a+1,b+1,c],[a+1,b+1,c+1]]
    return k

for i in range(5):
    for j in range(5):
        for k in range(5):
            if h[i][j][k] == "   ":
                num = 0
                y = around(i,j,k)
                for q in y:
                    if -1 < q[0]< 5 and -1 < q[1]< 5 and -1 < q[2]< 5 and h[q[0]][q[1]][q[2]] == "[M]":
                        num += 1
                h[i][j][k] = "[" + str(num) + "]"        
for x in h:
    for i in x:
        print(i)
    print("________________________________________")    
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!