我正在Predator-Prey model工作,但我有一个独特的产卵机制,我正在努力工作。
这个想法是,当一只狼遇到绵羊时,绵羊有可能逃跑(我已经将这部分编入其中)。如果绵羊被杀死,则会创建 n 的羊羔数量。如果绵羊逃跑,则会创建 k 的羊羔数量。在 t 期后,羔羊成为猎物。 n,k 和 t 都将是接口端的滑块。
我对基于代理的建模和Netlogo编码很陌生,所以任何建议都会非常感激。
这是狩猎的当前代码:
to catch-sheep ;; wolf procedure
let prey one-of sheep-here
if prey != nobody and random 100 < kill-probability
[ ask prey [ die ]
答案 0 :(得分:0)
大概是k> n,所以你可以拥有所有成年绵羊hatch
n只羔羊,然后是catch-sheep
,然后让所有剩下的成年绵羊孵化k-n羔羊。这需要区分羔羊和成年人,因此您可能需要添加age
属性。
但是,我怀疑你会想要切换到每个蜱虫孵化羔羊的概率,而不是每个蜱虫孵出的羔羊数量。
答案 1 :(得分:0)
使用您的代码添加一些代码,看看它是否适合您。
当一只羊被杀死时,会创建一个随机数量的新羊,在下面的代码中使用你的幻灯片变量而不是10。
我使用primitive function hatch完成所有工作。
to catch-sheep ;; wolf procedure
let prey one-of sheep-here
if prey != nobody and random 100 < kill-probability
[ ask prey [ die ]
;;Here we create new sheeps upon prey death
let rd-num random 10 ;; 1 to 10 sheeps will appear
hatch-sheep rd-num [ set color blue
set xcor 9 ;; Initialize your new sheeps ]
]
如果您有任何问题,请告诉我们!快乐的编码。