保存动作发生的时间然后做某事 Netlogo
Save the times an action has happend then do something Netlogo
我没有代码,因为我真的不知道该怎么做。我有一些棕色的斑块,随机地变绿一点,然后它们又变成棕色,它循环。我想知道有没有办法让乌龟知道那个补丁变绿了多少次。
提前致谢。
像您描述的变量通常称为计数器。在这种情况下,您可能希望它是一个 patches-own
变量,以便每个 patch
可以单独跟踪给定事件发生的次数。在下面的示例中,times-turned-green
从零开始(默认情况下,这是在 Netlogo 中声明的任何变量的值)并且 patches
都会更新自己的 'personal' times-turned-green
他们改变颜色。
patches-own [ times-turned-green ]
to setup
ca
ask patches [ set pcolor brown]
reset-ticks
end
to example
repeat 100 [
ask patches [
set pcolor brown
if random-float 1 < 0.05 [
set pcolor green
set times-turned-green times-turned-green + 1
]
]
]
ask n-of 5 patches [
show times-turned-green
]
end
命令中心的输出应类似于:
(patch -6 14): 2
(patch -9 4): 6
(patch 2 1): 8
(patch -3 3): 4
(patch -5 12): 5
我没有代码,因为我真的不知道该怎么做。我有一些棕色的斑块,随机地变绿一点,然后它们又变成棕色,它循环。我想知道有没有办法让乌龟知道那个补丁变绿了多少次。
提前致谢。
像您描述的变量通常称为计数器。在这种情况下,您可能希望它是一个 patches-own
变量,以便每个 patch
可以单独跟踪给定事件发生的次数。在下面的示例中,times-turned-green
从零开始(默认情况下,这是在 Netlogo 中声明的任何变量的值)并且 patches
都会更新自己的 'personal' times-turned-green
他们改变颜色。
patches-own [ times-turned-green ]
to setup
ca
ask patches [ set pcolor brown]
reset-ticks
end
to example
repeat 100 [
ask patches [
set pcolor brown
if random-float 1 < 0.05 [
set pcolor green
set times-turned-green times-turned-green + 1
]
]
]
ask n-of 5 patches [
show times-turned-green
]
end
命令中心的输出应类似于:
(patch -6 14): 2
(patch -9 4): 6
(patch 2 1): 8
(patch -3 3): 4
(patch -5 12): 5