我被一段代码卡住了。谁能帮帮我?
问题是:我有31个海龟轮廓,你可以把巢放在任何类型的地被物上的“巢”,然后还有更多的变化。只将“巢”放在特定栖息地类型的专家)。
但每个配置文件都有两个参数,即:新陈代谢(有3个水平=3个值)和生殖能量(也有3个水平=3个值)。即:
新陈代谢:-level 1 -level 2 -level 3
繁殖能量:-level 1 -level 2 -level 3
因此,我希望31个海龟配置文件中的每一个都有这2个参数和这3个级别。例如:
简介1:新陈代谢:-level 1 -level 2 -level 3复制能量:-level 1 -level 2 -level 3
关键是,为了用这些值3创建2个参数,我创建了一个代码,如下所示:
turtles-own [ energy-reproduction metabolism ]
to setup
ask turtles [
let a2 random-float 1.01
(
ifelse
a2 <= 0.33
[
set energy-reproduction 5
]
a2 > 0.33 and a2 <= 0.66
[
set energy-reproduction 25
]
a2 > 0.66
[
set energy-reproduction 50
]
)
]
ask turtles [
let a3 random-float 1.01
(
ifelse
a3 <= 0.33 [
set metabolism 2
]
a3 > 0.33 and a3 <= 0.66
[
set metabolism 8
]
a3 > 0.66
[
set metabolism 16
]
)
]
end重点是,对于剖面1,海龟可能有:1个具有新陈代谢的群体3,2个具有新陈代谢的群体2,没有具有新陈代谢1的群体。其想法是,所有31个剖面都具有2个参数(繁殖和新陈代谢的能量)中每个参数的3个水平中的每一个。我怎么能这样做呢?
如果有任何帮助,我将不胜感激。
发布于 2021-11-23 08:47:46
如果我理解正确的话,您希望在至少一个海龟中有任何可能的参数级别组合。下面是一个示例,介绍如何通过接口输入var1、var2、var3,为每个参数组合创建一个海龟:
to go
let list1 [green red blue]
let list2 (list var1 var2 var3)
foreach list1 [ item1 ->
foreach list2 [ item2 ->
crt 1 [
set color item1
set size item2
setxy random-xcor random-ycor
]
]
]
endhttps://stackoverflow.com/questions/70069826
复制相似问题