洞窟の特定のセルを、それらがどの部屋にあるかに基づいて異なる色の水で満たす、より大きなコードで使用されるフラッドフィルアルゴリズムを作成する必要があります。
何らかの理由で、再帰アルゴリズムが機能せず、最大再帰深度を超えていると言われ続けますが、その理由はわかりません。
セルごとに移動して、AIR、STONE、またはWATERのいずれであるかを確認し、STONEまたはWATERの場合は何もしないようにします。AIRの場合は、そのセルを埋めてほしい。
誰かが私にいくつかのヒントやアドバイスを与えることができますか?
#flood fill algorithm
def fill(cave, row, col, color):
caveWidth = len(cave)
caveHeigth = len(cave[0])
if row > 0:
fill(cave, row-1, col, color) #left
if col > 0:
fill(cave, row, col-1, color) #up
if row < caveWidth-1:
fill(cave, row+1, col, color) #right
if col < caveHeigth-1:
fill(cave, row, col+1, color) #down
if cave[row][col] == STONE or cave[row][col] == WATER:
return
if cave[row][col] == AIR :
cave[row][col] = WATER
grid.fill_cell(row, col, color)