Netlogo Agents错误

时间:2013-03-03 11:59:11

标签: netlogo

我正在实施一个演讲厅的疏散模拟。我有两种类型的学生坐在桌子上,额外的学生在课堂内随机分配。所以我按顺序创建了两个滑块为学生分配所需的数字。滑块名为 extrastudents standarstudents 。当模拟开始时,我希望所有的学生(包括桌子和额外的学生)去最近的出口(我有两个出口)。所以我只对那些正坐下来的学生实施了这个:

ask standarstudents  [
ifelse pycor > 0
[ set target one-of nexits]
[ set target one-of sexits]
face target
]

Nexits是北出口。 性别是南出口。

问题是我收到了这个错误,我可以继续:

ASK预期输入为代理或代理集,但得到的数字为3。 观察者运行ASK时出错。(数字3来自用户选择的滑块)   由程序SETUP调用   由Button'setup'调用

org.nlogo.nvm.ArgumentTypeException:ASK预期输入为代理或代理集,但却得到了数字3。

任何想法?

1 个答案:

答案 0 :(得分:2)

好吧,如果您有名为extrastudentsstandarstudents滑块,那么这两个变量是数字值,代表每种类型的学生数量想要,学生自己。与错误消息一样,ask原语与 agentsets 一起使用,代表“你在问谁”。

你真的创造了你的学生吗?将滑块放在界面上本身不会做任何事情。我建议您将滑块重命名为num-extrastudentsnum-standarstudents,然后使用此类代码初始化您的人口:

breed [ extrastudents extrastudent ]
breed [ standarstudents standarstudent ]

to setup
  create-standarstudents num-standarstudents
  create-extrastudents num-extrastudents
end

然后,您发布的代码将起作用,因为extrastudentsstandarstudents繁殖海龟,因此代理集。