我的问题涉及设置全局计数器变量。
示例代码:
globals [counter]
to go
;if counter / 6 is a whole number (as in is divisible by 6)
ask turtles
[
forward 1
]
set counter counter + 1
;otherwise
ask turtles
[
right 60
forward 1
]
end
假设我已经相应地设置了海龟和补丁。我的想法是如何让我的计数器变量测试真假,可以被一个数字整除。
答案 0 :(得分:3)
你想让计数器每个时间步增加吗?如果是这样,请使用刻度,而不是使用bergant而不是计数器。如果您稍后要介绍一些代码,请使用计数器,这意味着计数器仅在某些时间步长递增。我还拿出了你的评论标记,以便进行动作。
如果使用计数器:
globals [counter]
to go
ask turtles
[ ifelse counter mod 6 = 0
[ forward 1 ]
[ right 60
forward 1 ]
]
set counter counter + 1
...
tick
end
如果使用刻度线:
to go
ask turtles
[ ifelse ticks mod 6 = 0
[ forward 1 ]
[ right 60
forward 1 ]
]
tick
end
答案 1 :(得分:0)
您可以使用ticks
(报告刻度计数器的当前值)。
使用reset-ticks
将计数器设置为零(这也会更新所有图表) - 通常在您的设置过程中。
调用tick
增加刻度(go procedure)
并使用mod运算符作为模数。