2016-03-16 66 views
1

我有這樣的NetLogo:使用代理,自己

retails-own [ 
    volum 
    diskon 
    ] 

我想volum和diskon的價值分配給兩個不同的零售和到目前爲止,我只能用這樣的隨機數分配給它零售業的的NetLogo模型

ask retails 
    [ 
    set diskon random 5 
    set volum random 20 
    ] 

如何爲不同的零售商分配特定的價值?我怎樣才能從代理中調用volum和diskon的值。到目前爲止,我不能稱它,見下文。謝謝

to create-shortest-path 
    let i 0 
    let tempar dijkstra (item 0 retailhouse) (item 1 retailhouse) 

    let final_route item 0 tempar 
    let total_distance item 1 tempar 

    set buat total_distance 

    if buat < 20 
    [ 
     ask retails 
     [ if diskon < 5 
     [set volum volum * (1 + diskon/100) ] ;;THIS PART, how can I call volum value from a specific agent 
     ] 
    ] 
end 

回答

2

如果您只有少數這些,您可以手動分配一個值。例如ask turtle 0 [ set diskon 25 ]。如果您有很多值,那麼您應該考慮使用文件導入功能(請查看模型庫,代碼部分中的示例)。

同樣,您可以通過... [ diskon ] of turtle 0與特定代理商取得價值。

請注意,這是依賴於who數字,這通常是一件非常糟糕的事情,因爲它們是按創建海龜(代理)的順序自動分配的,所以如果您以後在創建更多代理時代碼將會中斷代碼。沒關係,如果你只有幾個代理並且永遠不會改變,但你可能想要添加另一個變量來標記不同的代理。

+0

非常感謝你,我稍後再試,我會再問一次是否有問題 –