如何通过netlogo中的链接访问另一个代理变量值

如何通过netlogo中的链接访问另一个代理变量值,netlogo,Netlogo,我正在尝试创建一个包含两个代理集的模型。零售商和客户群。客户代理需要访问零售商集中最接近的成员的价格,并将其价格与他们自己的偏好价格进行比较,如果零售商提供的价格低于偏好价格,则进行购买。我试图在这里为客户定义可变价格,以便将最近零售商的价格值传递给客户并进行比较。我想知道应该使用什么语法进行此传递?我在这里创建了一个简单的模型,这样我就可以掌握这个过程的窍门 breed [ retailers retailer] breed [ customers customer] directed-li

我正在尝试创建一个包含两个代理集的模型。零售商和客户群。客户代理需要访问零售商集中最接近的成员的价格,并将其价格与他们自己的偏好价格进行比较,如果零售商提供的价格低于偏好价格,则进行购买。我试图在这里为客户定义可变价格,以便将最近零售商的价格值传递给客户并进行比较。我想知道应该使用什么语法进行此传递?我在这里创建了一个简单的模型,这样我就可以掌握这个过程的窍门

breed [ retailers retailer]
breed [ customers customer]

directed-link-breed [info-links info-link]
directed-link-breed [purchase-links purchase-link]

retailers-own [
       price
       inventory
]


customers-own [
         price-here
         prefered-price
]


to setup
  
  create-retailers 10 [ setxy random-pxcor random-pycor
                        set color blue
                        set price random 10
                        set inventory 10
  ]

create-customers 20 [ setxy  random-pxcor random-pycor 
                      set color red
                      set prefered-price random 7 ]
end


to go
  
  foreach sort customers [x -> ask x[
    create-info-link-from  min-one-of retailers [ distance myself ]
  ]]
end


这未经测试,因此可能存在语法错误。我想你只需要查看最近的零售商的价格,如果价格足够低,就可以购买。您不需要创建一个链接来获取信息,只需要使用所需信息指定代理,并使用的
。所以你可以这样做:

to go
  ask customers
  [ let closest min-one-of retailers [ distance myself ]
    let closest-price [price] of closest
    if closest-price <= preferred-price
    [ ...
要走了
询问客户
[让我和其中一个零售商保持距离]
让最接近的价格[最接近的价格]
如果最接近的价格
to go
  ask customers
  [ if closest-price <= [price] of min-one-of retailers [ distance myself ]
    [ ...