如何一次为多只乌龟设置计时器计数?以下是示例语法。使用此语法,如果存在两只乌龟,则每次打勾将对计时器计数累计计数2。示例:2,4,6,8,...,另一个示例:如果存在3只龟,3,6,9,...,则对每个滴答进行累积计数。递减计时器也有同样的问题。在这个模型中,一只乌龟无限地出生在原始斑块(0 0),经过一段时间后,海龟一个接一个地死亡。即使有多个补丁,也会出现此问题。我可能需要你的建议。谢谢。
ask (turtles-on patch 0 0)
[
set count-up count-up + 1
]
答案 0 :(得分:2)
我认为你对全局变量和海龟拥有变量之间的区别感到困惑。如果您在不同时间创建了多只海龟,那么您可能希望每只海龟都有自己的计时器(因此不同海龟的值可能不同)。如果你想要的只是一个增加或减少每个标记的全局变量,那么就不要把它放在ask
语句中。只需说出“设置计数器+ 1”即可。
这是一个完整的模型,可以帮助您了解代码中发生了什么。
globals [num-turtles counter ave-count-up]
turtles-own [count-up]
to setup
clear-all
set num-turtles 5
reset-ticks
end
to go
set counter counter + 1
if count turtles < num-turtles
[ ask patch 0 0
[ sprout 1
[ set count-up 0 ]
]
]
ask (turtles-on patch 0 0)
[ set count-up count-up + 1
show count-up
]
type "Current value of counter is " print counter
type "Number of turtles: " print count turtles
type "Total of all turtle counters: " print sum [count-up] of turtles
set ave-count-up mean [count-up] of turtles
tick
end