下面是编程之家 jb51.cc 通过网络收集整理的代码片段。
编程之家小编现在分享给大家,也给大家做个参考。
import random
#warning: x and y confusing
sx = 10
sy = 10
dfs = [[0 for col in range(sx)] for row in range(sy)]
maze = [[' ' for col in range(2*sx+1)] for row in range(2*sy+1)]
#1:up 2:down 3:left 4:right
operation = {1:(0,-1),2:(0,1),3:(-1,0),4:(1,0)}
direction = [1,2,3,4]
stack = []
for i in range(2*sx+1):
if i%2 == 0:
for j in range(2*sx+1):
maze[i][j] = '#'
for i in range(2*sy+1):
if i%2 == 0:
for j in range(2*sy+1):
maze[j][i] = '#'
def show(graph):
for i in graph:
for j in i:
print j,print
def showRouter(stack):
RGragh = [[0 for col in range(sx)] for row in range(sy)]
for (x,y) in stack:
RGragh[y][x] = 1
show(RGragh)
def generateMaze(start):
x,y = start
dfs[y][x] = 1
random.shuffle(direction)
for d in direction:
px,py = (x + y for x,y in zip(start,operation[d]))
if px < 0 or px >= sx or py < 0 or py >= sy:
pass
else:
if dfs[py][px] is not 1:
mx = 2*x + 1
my = 2*y + 1
if d == 1:
maze[my-1][mx] = ' '
elif d == 2:
maze[my+1][mx] = ' '
elif d == 3:
maze[my][mx-1] = ' '
elif d == 4:
maze[my][mx+1] = ' '
generateMaze((px,py))
generateMaze((0,0))
show(dfs)
show(maze)
以上是编程之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。