gpt4 book ai didi

python -(家庭作业)需要有关我的网格递归函数的帮助

转载 作者:太空宇宙 更新时间:2023-11-03 11:33:09 25 4
gpt4 key购买 nike

好吧,我正在编写一个程序,它将运行通过网格并找到腔室。对于每个白色的腔室,它都填充一种颜色。只要该点旁边的空白区域也是白色,它就会继续填充颜色,直到该区域被墙隔开。然后它继续扫描,直到找到一个新的白色房间。这是网格的示例: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 在这里应该做什么?

关于python -(家庭作业)需要有关我的网格递归函数的帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12967453/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com