1

我在 netlogo 中使用了一个名为 Chemical Equilibrium 的现有模型,并添加了更多代码。我想添加对反应/其他乌龟没有影响但加速FORWARD反应的乌龟(催化剂),其定义如下:

to react-forward [t]
  ask t [ set color red ]
  set color green
  rt random-float 360
  jump 2
end

我当时在想我应该放一个开关和一个滑块,把海龟变成 whitemols,或者我做一个turtles-own [catalyst],然后像我对温度和压力所做的那样定义它。我尝试了以下但没有奏效。

turtles-own [speed catalyst]
  crt whitemols
  [ set color white
    randomize
    set speed 1
  ]

我知道上面的代码不正确,但不确定如何编写这个特定的功能。

4

1 回答 1

2

当然,有很多方法可以做到这一点。从您包含的小片段中,我无法判断您的程序中发生了什么。

一种方法是让催化剂属于不同的品种:

breed [catalysts catalyst]
breed [chemical-x chemical-x]
;and so on

;then the forward reaction is sped up by the existence of catalysts

to react-forward
  let num-catalysts count catalysts
  ;speed up by num-catalysts
  ;...
end
于 2010-03-05T11:28:22.920 回答