NetLogo HubNet滑块值

时间:2014-02-18 15:01:33

标签: slider netlogo hubnet

在我的HubNet应用程序中,每个客户都可以访问一个滑块,他或她可以用来猜测问题的答案。我使用命令

set slider-value 0

为了在问题之间重置滑块。但是,这似乎只将与滑块关联的全局变量设置为0,而不是参与者操作的滑块。如何更改滑块本身(从服务器)?

参与者当然非常困惑,因为如果他或她在移动滑块之前点击猜测按钮,则无论滑块当前设置为什么,她的猜测都将等于全局变量。

1 个答案:

答案 0 :(得分:3)

我认为混淆的一个原因是HubNet系统是一个“瘦”或“哑”的客户端系统。

特别是,客户端没有意识到其界面元素的含义。所以,你的想法(更新NetLogo服务器上的变量,并期望通知客户端将更新与此变量对应的接口元素[其含义])。

相反,您的NetLogo模型需要管理其含义及其含义。因此,“slider-value”变量会发生变化。然后主机需要告诉客户端更新其界面元素。您可以通过发出hubnet-send命令来执行此操作。

例如,假设HubNet客户端被称为“joe”,客户端界面中的滑块被称为“my-slider”,相关变量就像你说的那样,滑块值你会写

hubnet-send "joe" "my-slider" slider-value

通常,在HubNet模型中,有一种与客户关联的龟(比如“学生”或“客户”),这些客户端有一个跟踪HubNet客户端标识符的变量(比如说这个变量是“我的身份”)。然后,要立即更新所有客户的滑块,您会说......

ask clients [
  hubnet-send my-id "my-slider" slider-value
]