NetLogo:n-所有海龟死亡时的错误
我有一个模拟,海龟在红色斑块上行走并死亡,这是可行的,但是当大多数海龟死亡时,所有带有NetLogo:n-所有海龟死亡时的错误,netlogo,die,Netlogo,Die,我有一个模拟,海龟在红色斑块上行走并死亡,这是可行的,但是当大多数海龟死亡时,所有带有n-of的东西都会报告一个错误。我确实理解这个错误,因为模拟试图在没有海龟的情况下获得n-of,但是我该如何修复它呢?在模拟结束时,所有海龟都死了,有没有办法使用n-of? 如果有,我怎么做?, 如果没有,有没有其他办法让海龟死在红色斑块上? 我的模拟需要每只海龟在红色斑块上行走时立即离开,但它们不能在彼此上方行走,这使得它们很难聚集在一个红色斑块上(大约有500只海龟) 谢谢大家!! 编辑: 我编辑了我的代码
n-of
的东西都会报告一个错误。我确实理解这个错误,因为模拟试图在没有海龟的情况下获得n-of
,但是我该如何修复它呢?在模拟结束时,所有海龟都死了,有没有办法使用n-of?
如果有,我怎么做?,
如果没有,有没有其他办法让海龟死在红色斑块上?
我的模拟需要每只海龟在红色斑块上行走时立即离开,但它们不能在彼此上方行走,这使得它们很难聚集在一个红色斑块上(大约有500只海龟)
谢谢大家!!
编辑:
我编辑了我的代码,这样我就不再需要n-of了。现在,在我的代码中,我希望一只乌龟将笔模式设置为“向下”的部分是
要走了
....
询问其中一只海龟[将笔模式设置为“向下”]
....
结束
现在,错误消息是:
请求期望的输入为代理或代理集,但没有得到任何人。
观察者运行ASK时出错
通过程序GO调用
按“开始”按钮调用
一旦模拟结束
有人建议使用一只海龟,但现在每只海龟都会将笔模式设置为“向下”,但我只想让一只海龟这样做。基本上,你最多只想使用
n
海龟。也就是说,如果至少有n
海龟,您应该使用其中的n
,否则您应该使用所有海龟。我们可以很容易地将其转化为记者:
to-report at-most-n-of [ n agentset ]
ifelse count agentset > n [
report n-of n agentset
] [
report agentset
]
end
您使用此选项的方式与
n-of
完全相同,但如果没有足够的海龟,则不会出错。基本上,您最多要使用n
海龟。也就是说,如果至少有n
海龟,您应该使用其中的n
,否则您应该使用所有海龟。我们可以很容易地将其转化为记者:
to-report at-most-n-of [ n agentset ]
ifelse count agentset > n [
report n-of n agentset
] [
report agentset
]
end
您使用的方法与
n-of
完全相同,但如果海龟数量不足,则不会出错。您没有告诉我们您使用n-of
的目的,因此很难建议其他方法。但一般来说,当没有足够的海龟可供选择时,防止n-of
崩溃的方法是:
n-of (min list n count turtles) turtles
其中
n
是您希望选择的海龟数量(如果可能)。您没有告诉我们您使用n-of
的目的,因此很难建议其他方法。但一般来说,当没有足够的海龟可供选择时,防止n-of
崩溃的方法是:
n-of (min list n count turtles) turtles
其中
n
是您希望选择的海龟数量(如果可能)。您应该发布代码和收到的错误消息。您应该发布代码和收到的错误消息。我有大约500个棕色补丁,每个补丁可以繁殖一只海龟。当我告诉200个补丁生成一只海龟(带滑块)时,我有200只海龟,我如何告诉你的代码我有多少只海龟?我是否只需在“n”的位置填入滑块的名称,即使滑块指的是补丁,而不是海龟?还是我完全错了-在上面的代码中,count turtles
是您当前拥有的海龟数量n
是您希望从当前拥有的海龟中选择的海龟数量。但我不明白你的问题,因为我不明白你想做什么。你没有错;只是不清楚。你想选择什么?您想选择它做什么?编辑你的问题。发布一些代码。。。至少告诉我们您试图使用n-of
…我现在更改了代码,但错误大致相同。例如,我想放下一支乌龟笔。“询问turtle random 1[设置笔模式“down”]”但一旦随机海龟死亡,我就会得到一个错误。我可以用你的建议来解决这个问题吗?千万不要试图通过谁
数字随机选择一只乌龟(这是乌龟随机1
会做的事情-除了随机1
总是等于0
)。如果要随机选择一只海龟,请使用其中一只海龟。但是,在你编辑你的问题并发布你要做的事情的代码之前,我们仍然无法为你提供更多的帮助。我有大约500个棕色补丁,每个补丁可以繁殖一只海龟。当我告诉200个补丁生成一只海龟(带滑块)时,我有200只海龟,我如何告诉你的代码我有多少只海龟?我是否只需在“n”的位置填入滑块的名称,即使滑块指的是补丁,而不是海龟?还是我完全错了-在上面的代码中,count turtles
是您当前拥有的海龟数量n
是您希望从当前拥有的海龟中选择的海龟数量。但我不明白你的问题,因为我不明白你想做什么。你没有错;只是不清楚。你想选择什么?您想选择它做什么?编辑你的问题。发布一些代码。。。至少告诉我们您试图使用n-of
…我现在更改了代码,但错误大致相同。例如,我想放下一支乌龟笔。“询问turtle random 1[设置笔模式“down”]”但一旦随机海龟死亡,我就会得到一个错误。我可以用你的建议来解决这个问题吗?千万不要试图通过谁
数字随机选择一只乌龟(这是乌龟随机1
会做的事情-除了随机1
总是等于0
)。如果要随机选择一只海龟,请使用其中一只海龟。但是,我们仍然无法为您提供更多帮助,除非您编辑您的问题并发布您尝试执行的操作的代码。