我的Main包含一条传送带,可将纸箱(我的代理商)从A传送到B。我添加了一个单选按钮,用户可以使用该按钮选择盒子的大小(“小”,“中”,“大” & “很大”)。我现在希望每个纸箱保存单选按钮的值。我尝试了很多其他方法,例如将其链接到参数,但是我没有弄清楚。
我的模特的照片:
我用于单选按钮的代码是:
if( value == 0 )
radioValue = 1;
else if( value == 1 )
radioValue = 2;
else if( value == 2 )
radioValue = 3;
else if( value == 3 )
radioValue = 4;
radioValue是我将我的单选按钮链接到Main中的参数。
如何将此参数提供给代理,以后如何读出?
提前感谢您的帮助!
答案 0 :(得分:0)
在Kist代理中创建一个名为int类型的大小的变量。
在源代码块的属性中,在“退出时打开”动作中,在属性的“动作”部分下,编写以下代码:
agent.size=radioValue;
这是AnyLogic中要做的最基本的事情之一。因此,我建议您在开始使用任何模型之前都要接受培训。这可以通过阅读教程,三天之内的anylogic书或我在这里的课程来完成:noorjax.teachable.com/p/anylogic
以后,您可以使用agent.size在任何块中访问代理的大小。
答案 1 :(得分:0)
在没有看到更多代码的情况下,我的一般建议是考虑遍历代理(例如,使用for循环),并让它们全部设置一个等于radioValue的局部变量cartSize(我不会使用“ size”因为它也用于代理集(我相信)。只是在这里吐口水,但是这样的事吗?
for (int x = 0; x < carton.size(); x++) {
carton.get(x).cartSize = radioValue;
}