首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python代码修改

Python代码修改
EN

Stack Overflow用户
提问于 2017-10-05 02:08:20
回答 1查看 130关注 0票数 1

我正在尝试编写一个随机迷宫生成器,并且正在尝试修改前面提到的here代码。我的问题是,我要求墙壁表示为'1‘,开放走道表示为'0',我已经尝试过了,但似乎找不到解决方案。非常感谢您的帮助。

以下是完成的代码

代码语言:javascript
复制
from random import shuffle, randrange

def make_maze(w = 16, h = 8):
    vis = [[0] * w + [1] for _ in range(h)] + [[1] * (w + 1)]
    ver = [["|  "] * w + ['|'] for _ in range(h)] + [[]]
    hor = [["+--"] * w + ['+'] for _ in range(h + 1)]

    def walk(x, y):
        vis[y][x] = 1

        d = [(x - 1, y), (x, y + 1), (x + 1, y), (x, y - 1)]
        shuffle(d)
        for (xx, yy) in d:
            if vis[yy][xx]: continue
            if xx == x: hor[max(y, yy)][x] = "+  "
            if yy == y: ver[y][max(x, xx)] = "   "
            walk(xx, yy)

    walk(randrange(w), randrange(h))

    s = ""
    for (a, b) in zip(hor, ver):
        s += ''.join(a + ['\n'] + b + ['\n'])
    return s

if __name__ == '__main__':
    print(make_maze())
EN

回答 1

Stack Overflow用户

发布于 2017-10-05 02:11:00

从代码中看,0似乎代表开放空间。只需将空格替换为0,其余的替换为1(只要您在单引号中找到文本)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46571439

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档