Netlogo 我有两种雏菊和两种兔子:如何让一种颜色的兔子只吃一种颜色的雏菊?

Netlogo 我有两种雏菊和两种兔子:如何让一种颜色的兔子只吃一种颜色的雏菊?,netlogo,Netlogo,对于一个班级项目,我正在修改daisyworld模型,使世界上有黑色和灰色的兔子。我想要灰色的兔子吃黑色的雏菊,棕色的兔子吃白色的雏菊。然而,当我写下我的代码(如下)时,兔子们正在纳闷,根本不吃雏菊,最终都死了。我没有在我的语法代码中得到任何错误,兔子只是不吃特定的雏菊。关于如何实现这一点有什么建议吗 进一步信息:我为daisy black添加了一个布尔值。黑雏菊是真的,白雏菊是假的。我打算把这片土地作为兔子们寻找的东西来决定他们是否应该吃雏菊 “兔子从食物中获得的能量”只是兔子从吃雏菊中获得的

对于一个班级项目,我正在修改daisyworld模型,使世界上有黑色和灰色的兔子。我想要灰色的兔子吃黑色的雏菊,棕色的兔子吃白色的雏菊。然而,当我写下我的代码(如下)时,兔子们正在纳闷,根本不吃雏菊,最终都死了。我没有在我的语法代码中得到任何错误,兔子只是不吃特定的雏菊。关于如何实现这一点有什么建议吗

进一步信息:我为daisy black添加了一个布尔值。黑雏菊是真的,白雏菊是假的。我打算把这片土地作为兔子们寻找的东西来决定他们是否应该吃雏菊

“兔子从食物中获得的能量”只是兔子从吃雏菊中获得的能量。当观察兔子时,它们的能量很少上升。有时确实如此,这意味着他们找到了雏菊来吃。但不像应该发生的那样频繁

下面是我告诉兔子怎么吃和吃什么的部分代码。看到什么问题或建议了吗?什么都欢迎

to go
  ask grey-rabbits [
    move
    set energy energy - 1
    eat-black-daisies
    death
    reproduce-grey-rabbits
  ]
  ask brown-rabbits [
    move
    set energy energy - 1
    eat-white-daisies
    death
    reproduce-brown-rabbits
  ]


to eat-black-daisies ;grey rabbits eat black daisies
  let prey one-of daisies-here with [daisy-black = true]
     if prey != nobody
      [ask prey [die]
      set energy energy + grey-rabbit-gain-from-food]

end


to eat-white-daisies ;brown rabbits eat white daisies
    let prey one-of daisies-here with [daisy-black = false]
      if prey != nobody
      [ask prey [die]
        set energy energy + brown-rabbit-gain-from-food]

end

你也可以展示调用这个过程的代码吗?是的,我可以,但是你说的“调用这个过程”是什么意思?我添加了一些代码。这就是你想要的吗?谢谢,我看不出这段代码有任何明显的错误。我要做的是打开一个观察窗口,观察几只兔子的情况。可能只是因为你没有足够的雏菊。另外,在命令中心,使用[雏菊黑]和
使用[非雏菊黑]
对雏菊进行计数,以查看雏菊颜色标志是否设置正确。并供将来参考,go过程正在“调用”eat black daisies过程,因为运行eat black daisies的请求出现在go过程中。是的,这是询问NetLogo问题的正确代码。