[英]How to give a parameter from the Main to an agent in Anylogic
我的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中的參數。
如何將此參數提供給代理,以后如何讀出?
在此先感謝您的幫助!
在Kist代理中,創建一個名為int類型的變量。
在源代碼塊的屬性中,在“退出時打開”動作中,在屬性的動作部分下,編寫以下代碼:
agent.size=radioValue;
這是AnyLogic中要做的最基本的事情之一。因此,我建議您在開始使用任何模型之前都要接受培訓。 這可以通過閱讀教程,三天之內的anylogic書或我在這里的課程來完成: noorjax.teachable.com/p/anylogic
之后,您可以使用agent.size在任何塊中訪問代理的大小。
在沒有看到更多代碼的情況下,我的一般建議是考慮遍歷代理(例如,使用for循環),並讓它們全部設置一個等於radioValue的局部變量cartSize(我不會使用“ size”,因為它也我相信用於代理集)。 只是在這里吐口水,但是這樣的事嗎?
for (int x = 0; x < carton.size(); x++) {
carton.get(x).cartSize = radioValue;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.