我刚刚开始了一个项目,我打算模拟(除其他外)树木周围的种子传播(命名为zsps)。由于生育率低,邻近的斑块已经可以解决或无法播种。 我编写的代码运行(在模拟开始时),但是这使得代码进入无限循环(我认为),因为有些树会尝试传播种子但却找不到任何可用的地方。
有没有人有办法摆脱这个陷阱(如果地方的数量是<种子的数量或者根本没有地方的话)?
这是我写的程序:
to check-seed-dispersal
ask zsps[
let nb-seeds 0
ifelse (age > 4) [set NFemFlowers 100]
[set NFemFlowers 0]
let temp-color color
if Tot_pol > 0
[set nb-seeds round ((NFemFlowers / Tot_pol) * 6 ) ]
if (nb-seeds > 0 )[
ask patches in-radius 5 with [fertility > 8 and not any? zsps-here]
[sprout-zsps nb-seeds
[ifelse (temp-color = yellow)
[set color gray set age 0 ]
[set color red set age 0 ]
]
]
]
]
end