gpt4 book ai didi

NetLogo:创建动态数量的品种

转载 作者:行者123 更新时间:2023-12-01 23:33:01 26 4
gpt4 key购买 nike

我如何在运行时创建动态数量的品种?我希望我的用户能够选择品种的数量。

我想过类似的事情

to setup_breeds

let j 1

while[j <= n_groups][

breed[j]

]

end

其中 n_groups 是从 slider 中获取的品种数。但不幸的是我不能在方法中使用 breed...

有什么想法吗?

谢谢!

最佳答案

您需要使用 breed 显式声明每个品种关键字,所以简短的回答是:不,你不能有一个动态数量的品种。

但是您真的需要实际的 NetLogo 品种吗?拥有不同品种的主要目的是为每个品种提供不同的变量。如果不是这种情况,也许您可​​以使用 group-id 海龟变量。要为每个 n_groups 创建一定数量的海龟,您可以这样做:

turtles-own [ group-id ]

to setup
clear-all
let n_groups 10
let n-turtles-per-group 5
foreach n-values n_groups [ ? ] [
create-turtles 10 [ set group-id ? ]
]
ask turtles [ set label group-id ]
; do something with only turtles of, e.g., group 2:
ask turtles with [ group-id = 2 ] [
fd 5
]
end

如果您认为您真的需要品种,请编辑您的问题并告诉我们原因,我们会看看是否能为您找到解决方案。

旁注:

我使用了 foreach n-values n_groups [ ? ] 循环遍历您的 n 个组。这相当于:

let i 0
while [ i < n_groups ] [
set i i + 1
]

...但可以说更“NetLogo-ish”。

关于NetLogo:创建动态数量的品种,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24314015/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com