Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Netlogo 如何创建链接从而改变海龟';什么品种?_Netlogo - Fatal编程技术网

Netlogo 如何创建链接从而改变海龟';什么品种?

Netlogo 如何创建链接从而改变海龟';什么品种?,netlogo,Netlogo,我在试着做家庭的榜样。我想把它设定成雄性与雌性相遇,形成一种联系,从而允许它们繁殖。我还没有弄明白或者在网上找到如何编写链接来实现这一点,尽管我认为这是非常基本的 我有男有女,丈夫和妻子。此代码将由男性运行 to marry if hunger < 10 [create-link-with one-of females] ask my-links [set breed wives] end 但是没有用 你让海龟询问链接,而不是链接邻居,我想就这些: breed [ cats cat ]

我在试着做家庭的榜样。我想把它设定成雄性与雌性相遇,形成一种联系,从而允许它们繁殖。我还没有弄明白或者在网上找到如何编写链接来实现这一点,尽管我认为这是非常基本的

我有男有女,丈夫和妻子。此代码将由男性运行

to marry
if hunger < 10 [create-link-with one-of females]
ask my-links [set breed wives]
end

但是没有用

你让海龟询问链接,而不是
链接邻居
,我想就这些:

breed [ cats cat ]

to setup
ca
  crt 10 [ setxy random-pxcor random-pycor ]
reset-ticks  
end

to go

  ask one-of turtles [
    create-link-with one-of other turtles 
    ask link-neighbors [
      set breed cats
    ]
  ]
end
编辑

我想这正是你想要的:

breed [ males male ]
breed [ husbands husband ]
breed [ females female ]
breed [ wives wife ]

males-own [ mood ]

to setup
  ca
  create-males 5 [ 
    set color green
    setxy abs random-pxcor / 2 random-pycor 
    set mood "lonely"
  ]
  create-females 5 [ 
    set color white
    setxy ( abs random-pxcor ) / -2  random-pycor
  ]
  reset-ticks
end

to go
  if any? females [
    ask one-of males [
      set breed husbands
      create-link-with one-of females
      ask link-neighbors [
        set breed wives
      ]
    ]
  ]
end

但是,您可能需要重新考虑让海龟切换品种,而是为它们提供一个
turtles own
布尔变量,如
married?
,可以用作标记。如果要进行品种切换,请确保为相关品种创建的任何变量都是相同的-注意,在上面的示例中,
雄性
有一个
情绪
变量,但当它们将品种更改为
丈夫

时,会丢失该信息,这很有帮助!不幸的是,在我代码的其余部分的上下文中运行该命令会生成一个不同的错误:“CREATE-LINK-WITH-expected input是一只乌龟,但却没有得到任何人。”如果我删除“ask-LINK-neights”行,错误就会消失。我尝试将if嵌入到一个“if”命令中,但没有乐趣。此外(如果最初不清楚,我也表示歉意),我只想更改链接端的种类。我需要让它指示我这样做吗?如果是这样的话,我需要比链接邻居更精确的东西吗?@Marmitrob 1-在没有看到更多代码的情况下,我无法告诉你错误来自何处-如果你编辑你的问题,包括你的设置和令人不快的过程,我可能能够对其进行排序。2-海龟调用的
链接邻居
原语将返回一个代理集,该代理集由与该海龟链接的所有其他海龟组成-因此,如果一只
雄性
链接到两只
雌性
并要求
链接邻居
执行某项操作,则这两只雌性会执行该操作。我已经编辑了我的答案,加入了另一个例子。
create-<a wife>-link-with   
  create-link-to one-of females 
breed [ cats cat ]

to setup
ca
  crt 10 [ setxy random-pxcor random-pycor ]
reset-ticks  
end

to go

  ask one-of turtles [
    create-link-with one-of other turtles 
    ask link-neighbors [
      set breed cats
    ]
  ]
end
breed [ males male ]
breed [ husbands husband ]
breed [ females female ]
breed [ wives wife ]

males-own [ mood ]

to setup
  ca
  create-males 5 [ 
    set color green
    setxy abs random-pxcor / 2 random-pycor 
    set mood "lonely"
  ]
  create-females 5 [ 
    set color white
    setxy ( abs random-pxcor ) / -2  random-pycor
  ]
  reset-ticks
end

to go
  if any? females [
    ask one-of males [
      set breed husbands
      create-link-with one-of females
      ask link-neighbors [
        set breed wives
      ]
    ]
  ]
end