NetLogo set [energy] of one of turtles
NetLogo set [energy] of one-of turtles
我正在尝试在 NetLogo 中创建简单的模型,当两只乌龟相遇时,能量最多的那只将所有能量都分配给第二只乌龟。
我设置命令meet
如
to meet
ask turtles[ let candidate one-of turtles-at 1 0
if candidate != nobody [
if [energy] of candidate > energy [
set color [color] of candidate
set energy energy + [energy] of candidate
set [energy] of candidate 0 ;; ISSUE HERE
]
if [energy] of candidate < energy [
set color [color] of candidate ;; ?
set [energy] of candidate [energy] of candidate + energy
set energy 0
]
]
]
所以,我用 set energy energy + [energy] of candidate
重置了乌龟(自我)的能量,然后我用:set [energy] of candidate 0
但是我可以得到一条错误消息:这不是什么东西你可以在.
上使用“set”
我应该如何在交易期间重置 candidate
能量?同样在第二个 if
期间,如何将候选颜色设置为(自我)海龟自己的颜色? (set color [color] of candidate
)
turtles-own[energy]
to setup
clear-all
reset-ticks
setup-patches
setup-turtles
end
to setup-patches
ask patches [
set pcolor gray
]
end
to setup-turtles
create-turtles 20
ask turtles[
set shape "wolf"
set size 2
set color one-of base-colors
setxy random-xcor random-ycor
set energy 10 + random 30
]
end
to go
if max [energy] of turtles < 1 [ stop]
tick
move
meet
end
to move
ask turtles[ fd 1 right random 360 ]
end
to meet
ask turtles[ let candidate one-of turtles-at 20 0
if candidate != nobody [
if [energy] of candidate > energy [
set color [color] of candidate
set energy energy + [energy] of candidate
set [energy] of candidate 0 ;; HERE ISSUE
]
if [energy] of candidate < energy [
set color [color] of candidate
set [energy] of candidate [energy] of candidate + energy
set energy 0
]
]
]
end
set [...] of ...
语法仅存在于极旧版本的 NetLogo 中。
在当前的 NetLogo 中,您可以:
ask candidate [ set energy 0 ]
我正在尝试在 NetLogo 中创建简单的模型,当两只乌龟相遇时,能量最多的那只将所有能量都分配给第二只乌龟。
我设置命令meet
如
to meet
ask turtles[ let candidate one-of turtles-at 1 0
if candidate != nobody [
if [energy] of candidate > energy [
set color [color] of candidate
set energy energy + [energy] of candidate
set [energy] of candidate 0 ;; ISSUE HERE
]
if [energy] of candidate < energy [
set color [color] of candidate ;; ?
set [energy] of candidate [energy] of candidate + energy
set energy 0
]
]
]
所以,我用 set energy energy + [energy] of candidate
重置了乌龟(自我)的能量,然后我用:set [energy] of candidate 0
但是我可以得到一条错误消息:这不是什么东西你可以在.
我应该如何在交易期间重置 candidate
能量?同样在第二个 if
期间,如何将候选颜色设置为(自我)海龟自己的颜色? (set color [color] of candidate
)
turtles-own[energy]
to setup
clear-all
reset-ticks
setup-patches
setup-turtles
end
to setup-patches
ask patches [
set pcolor gray
]
end
to setup-turtles
create-turtles 20
ask turtles[
set shape "wolf"
set size 2
set color one-of base-colors
setxy random-xcor random-ycor
set energy 10 + random 30
]
end
to go
if max [energy] of turtles < 1 [ stop]
tick
move
meet
end
to move
ask turtles[ fd 1 right random 360 ]
end
to meet
ask turtles[ let candidate one-of turtles-at 20 0
if candidate != nobody [
if [energy] of candidate > energy [
set color [color] of candidate
set energy energy + [energy] of candidate
set [energy] of candidate 0 ;; HERE ISSUE
]
if [energy] of candidate < energy [
set color [color] of candidate
set [energy] of candidate [energy] of candidate + energy
set energy 0
]
]
]
end
set [...] of ...
语法仅存在于极旧版本的 NetLogo 中。
在当前的 NetLogo 中,您可以:
ask candidate [ set energy 0 ]