NetLogo:计算海龟在补丁上的后代(通过发芽功能?)
NetLogo: Calculate turtles' offsprings on patches (by sprout function?)
在我的 NetLogo 世界表面上,我想计算粉红色斑块上的海龟数量。接下来,我想包括复制过程。更具体地说,我想将这些斑块上的海龟数量乘以每只海龟的后代数量 (3),从而创造出新的海龟。 后代应该具有 parents 的质量.
步骤:
1. 在粉色补丁上创建 100 只海龟 (parents)
2. 确定每个粉红色斑块的海龟数量(我想将这个模型合并到更大的模型中)并将其乘以 3 -> 100 parents 有 300 个后代
3.让parents死去,只留后代
4. 每个粉色补丁的海龟数量:300
似乎使用 sprout
足以在每个粉红色斑块上生成海龟。但是我不明白如何包含这个后代创作?我知道我可以通过
计算每个补丁的海龟数量
show [count turtles-here] of patches with [pcolor = pink]
但是如何将此信息包含在我的新海龟(后代)创建中?以及如何 "copy" 他们的质量 parents? (红色?)
我尝试合并此处发布的答案但没有成功:Sprouting turtles in NetLogo based on patch value
非常感谢,这是我的代码:
to setup
clear-all
setup-patches
setup-turtles
reset-ticks
end
; create diverse landscape
to setup-patches
ask n-of 5 patches [ set pcolor pink ]
end
; create turtles on pink patches
to setup-turtles
ask patches with [pcolor = pink] [sprout 100 [ set color red ]]
; ask patches with [pcolor = pink] [count turtles-here]
; show [count turtles-here] of patches with [pcolor = pink] ; calculate number of turtles on every pink patch
let patch-list [count turtles-here] of patches with [pcolor = pink]
let i 0
foreach patch-list [
ask ? [
sprout item i patch-list
set plabel count turtles-here
]
set i i + 1
]
reset-ticks
end
简单的解决方案,结合
sprout count turtles-here
进入我的简单公式:
to setup
clear-all
setup-patches
setup-turtles
reset-ticks
end
to setup-patches
ask n-of 5 patches [ set pcolor pink ]
end
to setup-turtles
; create parents
ask patches with [pcolor = pink] [sprout 100 [ set color red ]]
; create offsprings (*3) and let parents die (- count turtles-here)
ask patches with [pcolor = pink]
[sprout count turtles-here * 3 - count turtles-here [ set color red ]]
; show [count turtles-here] of patches with [pcolor = pink]
ask patches with [pcolor = pink] [set plabel count turtles-here]
end
您要找的原语是hatch
。如果您 ask
父代 hatch
后代,它会自动复制后代中父代的所有属性:
to setup
clear-all
ask n-of 5 patches [ set pcolor pink ]
; create 100 parent turtles on pink patches
ask patches with [ pcolor = pink ] [ sprout 100 ]
; show that each pink patch has 100 turtles on it (the parents)
show [ count turtles-here ] of patches with [ pcolor = pink ]
; ask each parent to hatch 3 offsprings and then die
ask turtles [
hatch 3
die
]
; show that each pink patch now has 300 turtles on it (the offsprings)
show [ count turtles-here ] of patches with [ pcolor = pink ]
end
在我的 NetLogo 世界表面上,我想计算粉红色斑块上的海龟数量。接下来,我想包括复制过程。更具体地说,我想将这些斑块上的海龟数量乘以每只海龟的后代数量 (3),从而创造出新的海龟。 后代应该具有 parents 的质量.
步骤: 1. 在粉色补丁上创建 100 只海龟 (parents) 2. 确定每个粉红色斑块的海龟数量(我想将这个模型合并到更大的模型中)并将其乘以 3 -> 100 parents 有 300 个后代 3.让parents死去,只留后代 4. 每个粉色补丁的海龟数量:300
似乎使用 sprout
足以在每个粉红色斑块上生成海龟。但是我不明白如何包含这个后代创作?我知道我可以通过
show [count turtles-here] of patches with [pcolor = pink]
但是如何将此信息包含在我的新海龟(后代)创建中?以及如何 "copy" 他们的质量 parents? (红色?)
我尝试合并此处发布的答案但没有成功:Sprouting turtles in NetLogo based on patch value
非常感谢,这是我的代码:
to setup
clear-all
setup-patches
setup-turtles
reset-ticks
end
; create diverse landscape
to setup-patches
ask n-of 5 patches [ set pcolor pink ]
end
; create turtles on pink patches
to setup-turtles
ask patches with [pcolor = pink] [sprout 100 [ set color red ]]
; ask patches with [pcolor = pink] [count turtles-here]
; show [count turtles-here] of patches with [pcolor = pink] ; calculate number of turtles on every pink patch
let patch-list [count turtles-here] of patches with [pcolor = pink]
let i 0
foreach patch-list [
ask ? [
sprout item i patch-list
set plabel count turtles-here
]
set i i + 1
]
reset-ticks
end
简单的解决方案,结合
sprout count turtles-here
进入我的简单公式:
to setup
clear-all
setup-patches
setup-turtles
reset-ticks
end
to setup-patches
ask n-of 5 patches [ set pcolor pink ]
end
to setup-turtles
; create parents
ask patches with [pcolor = pink] [sprout 100 [ set color red ]]
; create offsprings (*3) and let parents die (- count turtles-here)
ask patches with [pcolor = pink]
[sprout count turtles-here * 3 - count turtles-here [ set color red ]]
; show [count turtles-here] of patches with [pcolor = pink]
ask patches with [pcolor = pink] [set plabel count turtles-here]
end
您要找的原语是hatch
。如果您 ask
父代 hatch
后代,它会自动复制后代中父代的所有属性:
to setup
clear-all
ask n-of 5 patches [ set pcolor pink ]
; create 100 parent turtles on pink patches
ask patches with [ pcolor = pink ] [ sprout 100 ]
; show that each pink patch has 100 turtles on it (the parents)
show [ count turtles-here ] of patches with [ pcolor = pink ]
; ask each parent to hatch 3 offsprings and then die
ask turtles [
hatch 3
die
]
; show that each pink patch now has 300 turtles on it (the offsprings)
show [ count turtles-here ] of patches with [ pcolor = pink ]
end