如何linkagentbreed1到agentbreed2一对一?

How to link agentbreed1 to agentbreed2 one-on-one?

我得到了 2 大套 agentbreeds1(村民)和等量的 agentbreeds2(房屋)。我正在尝试 link 这两者以一对一的比例组合在一起。到目前为止,我尝试通过以下行来执行此操作,但我不确定它是否正确执行:

ask villagers [
  create-link-with one-of other houses
 ]

为了清楚起见,如果我有 villager1,它可能只连接到一个没有 link 的房子到另一个村民。

希望这里的聪明人之一能进一步帮助我!

提前致谢。

这很接近,但是因为你没有限制说像 "you may only create a link with a house that has no villager already" 你最终会得到一些有多个村民的房子 linked 和一些没有村民的房子 link编辑。要纠正这一点,您要做的就是包括该约束,这样村民只能 link 到尚未 linked:

的房子
  ask villagers [
    create-link-with one-of houses with [ not any? link-neighbors ]
  ]

要检查它是否有效,您可以目视检查 links 或 运行 下面几行的一些变体:

  ask turtles [ 
    if count link-neighbors != 1 [
      show ("I am not linked to just one turtle.")
    ]
  ]

如果任何海龟没有 link 到另一个,或者 link 到不止一个,它将打印引号中的行。