2016-12-13 154 views
0

对于我所关注的课程,我必须设计某种AI,可以通过包含敌人(给予伤害),朋友(降低伤害)的给定'地形' ,障碍物(减少能量)和台站(增加能量)。为NetLogo中的一只乌龟分配多个号码

在我开始实际的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.

回答

1

使用turtles-own,您可以根据需要分配尽可能多的属性乌龟。但是一只乌龟的标签只能有一个价值。你必须决定如果你有一只能找到一个站和一个障碍物的乌龟会发生什么。您可以显示能量,或显示损伤,或显示包含两者的标签。根据上面的代码,请注意,您从未设置过damage(仅限于energy),因此在报告damage时,您可能只看到0标签。