在 NetLogo 中为一只海龟分配多个数字
Assign multiple numbers to one turtle in NetLogo
对于我正在学习的课程,我必须设计某种 AI,它可以在给定的 'terrain' 中导航,其中包含敌人(造成伤害)、朋友(降低伤害)、障碍物(减少能量)和站(增加能量)。
在我进行实际的 AI 部分之前,我想按顺序了解底层点系统。我的问题是;是否可以在 1 只乌龟上显示 2 个数字?我想展示机器人的伤害和能量。
The energy part looks like the following:
to hit-station
ask robots
[ if pcolor = green
[ set pcolor black set energy (energy + energy-from-station) ]
ifelse show-energy?
[ set label energy ]
[ set label "" ]
]
end
现在这很好用了,因为我做了一个开关来显示能量。当我想为损坏添加一个数字时,问题就出现了。我也为此做了一个切换,代码部分如下所示:
to hit-obstacle
ask robots
[ if pcolor = red
[ set pcolor black set energy (energy + energy-from-obstacles) ]
ifelse show-damage?
[ set label damage ]
[ set label "" ]
]
end
我没有收到错误消息,但损坏似乎没有显示(损坏代码部分在能量代码部分下方)。
这可能吗?有没有办法为数字分配不同的颜色?
非常感谢,
J.V.
使用turtles-own
,您可以为海龟指定任意多的属性。但是一只海龟的标签只能有一个值。如果你的乌龟既找到了车站又找到了障碍物,你必须决定要发生什么。您可以显示能量,或显示损坏,或显示包含两者的标签。根据上面的代码,请注意您从未设置 damage
(仅 energy
),因此当报告 damage
时,您可能只是看到了 0
标签。
对于我正在学习的课程,我必须设计某种 AI,它可以在给定的 'terrain' 中导航,其中包含敌人(造成伤害)、朋友(降低伤害)、障碍物(减少能量)和站(增加能量)。
在我进行实际的 AI 部分之前,我想按顺序了解底层点系统。我的问题是;是否可以在 1 只乌龟上显示 2 个数字?我想展示机器人的伤害和能量。
The energy part looks like the following:
to hit-station
ask robots
[ if pcolor = green
[ set pcolor black set energy (energy + energy-from-station) ]
ifelse show-energy?
[ set label energy ]
[ set label "" ]
]
end
现在这很好用了,因为我做了一个开关来显示能量。当我想为损坏添加一个数字时,问题就出现了。我也为此做了一个切换,代码部分如下所示:
to hit-obstacle
ask robots
[ if pcolor = red
[ set pcolor black set energy (energy + energy-from-obstacles) ]
ifelse show-damage?
[ set label damage ]
[ set label "" ]
]
end
我没有收到错误消息,但损坏似乎没有显示(损坏代码部分在能量代码部分下方)。 这可能吗?有没有办法为数字分配不同的颜色?
非常感谢,
J.V.
使用turtles-own
,您可以为海龟指定任意多的属性。但是一只海龟的标签只能有一个值。如果你的乌龟既找到了车站又找到了障碍物,你必须决定要发生什么。您可以显示能量,或显示损坏,或显示包含两者的标签。根据上面的代码,请注意您从未设置 damage
(仅 energy
),因此当报告 damage
时,您可能只是看到了 0
标签。