Netlogo 寻找最近的代理

Netlogo 寻找最近的代理,netlogo,Netlogo,例如,如果我有两个品种的狐狸和兔子,我想找到最近的代理。如何为每只狐狸找到最近的兔子。我想出了下面的代码,它在一个列表中存储了从每只狐狸到特定半径内兔子子集的距离 我想知道是否有更好和/或更简单的方法来实现这个netlogo breed [rabbits rabbit] breed [foxes fox] foxes-own [closest-rabbit] to setup clear-all create-rabbits 10 create-foxes 2 ask

例如,如果我有两个品种的狐狸和兔子,我想找到最近的代理。如何为每只狐狸找到最近的兔子。我想出了下面的代码,它在一个列表中存储了从每只狐狸到特定半径内兔子子集的距离

我想知道是否有更好和/或更简单的方法来实现这个netlogo

breed [rabbits rabbit]
breed [foxes fox]

foxes-own [closest-rabbit]

to setup
  clear-all

  create-rabbits 10
  create-foxes 2

   ask rabbits[
      setxy random-xcor random-ycor
      set color white
   ]

   ask foxes[
    setxy random-xcor random-ycor
    set color orange
  ]

 end

to go

  ask foxes[
    let rabbits-in-range rabbits in-radius 10
    let dist-list []
    let rabbit-list []

    ask rabbits-in-range[
      set dist-list lput distance myself dist-list
      set rabbit-list lput self rabbit-list

      let min-dist-idx position (min dist-list) dist-list
      set closest-rabbit item min-dist-idx rabbit-list
    ]
      ]  
end

你试过这样的东西吗

询问海龟[向min展示另一只海龟[与自己保持距离]

breed [rabbits rabbit]
breed [foxes fox]

foxes-own [closest-rabbit]

to setup
  clear-all

  create-rabbits 10
  create-foxes 2

   ask rabbits[
      setxy random-xcor random-ycor
      set color white
   ]

   ask foxes[
    setxy random-xcor random-ycor
    set color orange
  ]

 end

to go

  ask foxes[
    show min-one-of rabbits [distance myself]
    set closest-rabbit min-one-of rabbits [distance myself]
    face closest-rabbit
      ]  
end
以更一般的形式

ask

你试过这样的东西吗

询问海龟[向min展示另一只海龟[与自己保持距离]

breed [rabbits rabbit]
breed [foxes fox]

foxes-own [closest-rabbit]

to setup
  clear-all

  create-rabbits 10
  create-foxes 2

   ask rabbits[
      setxy random-xcor random-ycor
      set color white
   ]

   ask foxes[
    setxy random-xcor random-ycor
    set color orange
  ]

 end

to go

  ask foxes[
    show min-one-of rabbits [distance myself]
    set closest-rabbit min-one-of rabbits [distance myself]
    face closest-rabbit
      ]  
end
以更一般的形式

ask