我的模型,鹰和鸽子中有2种龟。在我的模型中,他们随机配对并移动到资源补丁。现在他们已经在补丁上,我希望他们获得能量,这取决于他们的配对。我该怎么做呢?
如果2只鸽子配对,它们各自获得资源价值的一半(滑块)。如果一只鸽子和一只鹰搭配起来,那么鹰会获得所有的资源价值,而鸽子会得到0.如果两只鹰派配对,那么一只鹰有50%的机会得到所有的资源价值,而两者都失去成本 - 值(另一个滑块)。
第一行代码:
to obtain-resource
ask turtles with [ partner != nobody and fed? = true ] [
答案 0 :(得分:2)
这未经过测试,但你可能想要这样的东西。至少,这实现了你的伪代码。我强烈建议你不要写任何其他内容,直到你明白这段代码的作用和方式。特别是,您应该查看ifelse
的字典,并了解访问其他海龟的属性(使用[attribute] of
)和ask
其他海龟来更改其属性值。
此代码假设您的海龟有两个品种 - 鹰和鸽子(具有伙伴?,能量等属性)。它还假设存在称为资源和成本的全局变量(滑块或代码)。
to obtain-resource
ask turtles with [ partner != nobody and fed? = true ]
[ ifelse breed = hawks
[ ifelse [breed] of partner = hawks
[ set energy energy + resource / 2 - cost
ask partner [ set energy energy + resource / 2 - cost ]
]
[ set energy energy + resource ]
]
[ ifelse [breed] of partner = hawks
[ ask partner [ set energy energy + resource ] ]
[ set energy energy + resource / 2
ask partner [ set energy energy + resource / 2 ]
]
]
]
end