我正在研究一个NetLogo模型,该模型将大量信息存储在查找表中,并嵌入到影响代理行为的补丁中。因此,我创建了一个模型“重置”,从一个扩展,清除乌龟,并重置计时器和滴答。
我还想让扩展重置跟踪模型结果的特定全局变量,但不重置所有作为常量的全局变量(查找预计算信息表)。我还想重置所有的界面图。
有没有关于如何去做的想法?
我很抱歉没有代码显示,因为我不能显示什么是不工作的,因为我甚至不确定要尝试什么!
发布于 2015-09-30 21:23:41
除了在https://github.com/NetLogo/NetLogo/wiki/Engine-architecture中以一般的方式之外,NetLogo引擎内部并没有真正的文档,所以如果您的扩展想要直接操作引擎的东西,您通常必须参考NetLogo源代码来了解它是如何实现的。
如果你想要像clear-globals
这样的东西,那么看看https://github.com/NetLogo/NetLogo/blob/5.x/src/main/org/nlogo/prim/etc/_clearglobals.scala和https://github.com/NetLogo/NetLogo/blob/37cc1a0aa371c11e89f5b39b5143ed5d951e6081/src/main/org/nlogo/agent/World.java#L849-L866吧。
如果你想要像clear-all-plots
这样的东西,那么看看https://github.com/NetLogo/NetLogo/blob/37cc1a0aa371c11e89f5b39b5143ed5d951e6081/src/main/org/nlogo/prim/plot/primitives.scala#L45-L50和https://github.com/NetLogo/NetLogo/blob/37cc1a0aa371c11e89f5b39b5143ed5d951e6081/src/main/org/nlogo/plot/PlotManager.scala#L54-L57吧。
诸若此类。
编辑:
要访问PlotManager,请注意plot/primitives.scala具有:
workspace.plotManager.asInstanceOf[PlotManager]
PlotManager有一些方法可以用来绘制特定的图。
https://stackoverflow.com/questions/32850553
复制相似问题