如何在界面滑块中定义变量的值而不是代理初始化?

问题描述 投票:0回答:1

我得到了这个名为

flip-rate
的变量。

globals [
  magnetization
]

turtles-own [
  opinion
  flip-rate
  temp-opinion
]

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;; AGENT INITIALIZATION ;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

to initialize-hvm ;; turtle procedure
  ask turtles [
    set opinion one-of n-values number-states [ ?1 -> ?1 ]
    recolor
    set flip-rate random-float 1
  ]
  set-magnetization
end

如何在界面部分使用滑块进行设置,而不是在代理初始化中将此翻转率变量设置为随机值?

我尝试将翻转率变量移至

globals 

但是当我尝试创建同名的滑块时,我收到一条错误消息“已经有一个名为 FLIP-RATE 的全局变量”。

netlogo
1个回答
2
投票

滑块本身是一个全局变量(参见here)。因此您不必在代码选项卡中定义它。假设您已将滑块命名为

flip-rate-slider
,您可以使用它将其值分配给海龟自己的变量
flip-rate
:

globals [
  magnetization
]

turtles-own [
  opinion
  flip-rate
  temp-opinion
]

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;; AGENT INITIALIZATION ;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

to initialize-hvm ;; turtle procedure
  ask turtles [
    set opinion one-of n-values number-states [ ?1 -> ?1 ]
    recolor
    set flip-rate flip-rate-slider
  ]
  set-magnetization
end
© www.soinside.com 2019 - 2024. All rights reserved.