如果两只乌龟进入一定半径,如何阻止/杀死它们?其余的海龟不应停止运动。
答案 0 :(得分:1)
这是一个示例,可能对第一次尝试很有帮助。由于目的是在继续行走和死亡时向大量海龟发出信号,因此您需要创建一个过程,要求所有海龟检查其环境。
天真的实现:
to global-step
ask turtles [ ifelse any? other turtles in-radius 3 [ die ] [ fd 1 ] ]
end
幼稚的实现可以很好地删除乌龟,但是并不是所有的乌龟都被删除了,因为乌龟会随着每只乌龟的检查而消失。
改善此问题的一种方法是添加一个乌龟拥有的变量,以将乌龟标记为在乌龟的特定半径内。
改进版本:
to global-step
ask turtles [
ifelse any? other turtles in-radius 3
[ set turtle-variable true ]
[ set turtle-variable false ] ]
ask turtles [ ifelse turtle-variable [ die ] [ fd 1 ] ]
end