繁体   English   中英

python-(HOMEWORK)需要有关网格递归函数的帮助

[英]python -(HOMEWORK) need help on my recursive function for a grid

好的,所以我正在编写一个程序,该程序将在网格中运行并找到试验箱。 对于每个白色的腔室,它会用一种颜色填充。 只要该斑点旁边的白色空间也是白色,它就会继续填充颜色,直到该空间被隔离。 然后继续扫描,直到找到新的白色腔室。 这是网格外观的示例: http : //imgur.com/uDzzq 这是到目前为止的代码...

x = 0
y = 0

if cave[row][col] != AIR:
    return
if cave[row][col] == WATER:
    return

if cave[row][col] == AIR:
    cave[row][col] = WATER
    grid.fill_cell(row, col, color)

if row <= length: #RIGHT
    fill(cave, row+1, col, color)
    x+=1
if col <= length: #DOWN
    fill(cave, row, col+1, color)
    y+=1
if row >= 0: #LEFT
    fill(cave, row-1, col, color)
    x-=1
if col >= 0: #UP
    fill(cave, row, col-1, color)
    y-=1

这是被称为的地方

for row in range(length) :
    for col in range(length):
        if(cave[row][col]):
            if(cave[row][col]) == AIR:
                color = grid.get_cur_color()
                fill(cave, row, col, color)
                chambers += 1
                grid.get_next_color()

我遇到的问题是,这仅适用于非常简单的洞穴。 当我尝试运行没有外墙的东西时,会出现错误。 谁能找到我的问题所在? 这是更复杂的洞穴及其最终外观的示例: http : //imgur.com/41ptc

看起来您在测试xy的边界条件时,应该改为测试rowcol

xy在这里甚至应该做什么?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM