在NetLogo中为一只乌龟分配多个数字

时间:2016-12-13 19:14:09

标签: netlogo assign

对于我关注的课程,我必须设计某种可以在特定地形中导航的人工智能'其中包含敌人(造成伤害),朋友(降低伤害),障碍物(降低能量)和站点(增加能量)。

在我进入实际的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 个答案:

答案 0 :(得分:1)

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