我走到了尽头,经过过度(不成功)谷歌搜索后,我需要帮助。
我正在构建一个简单的PyQt4 Widget,它位于一个60x80正方形的网格中,每个网格都初始化为nil
。如果用户点击该框,则会根据此列表定义的左键单击次数来更改颜色:
None
如果用户右键单击,则使用常见的递归填充算法将洪水填充到某个区域。这适用于小空间,但是如果空间足够大,程序就会失败并出现错误self.COLORS=[
(0, 0, 255), #WATER
(255, 210, 128), #SAND
(0, 128, 0), #GREEN
(255, 255, 0), #YELLOW
(255, 165, 0), #ORANGE
(255, 0, 0) #RED
]
我不知道如何解决这个问题,也许是一个不是递归的泛洪填充?
所有正方形和后续颜色代码都存储在Fatal Python error: Cannot recover from stack overflow.
中,因此设置self.cells
会将单元格self.cells[(y,x)]=1
设置为(y,x)
颜色。
这是整个程序。
Sand
任何人都可以帮助诊断问题或者指出修复问题的方向吗?