我如何以有组织的方式制作乌龟脸,如“cro”命令,但在龟背景中?

时间:2018-01-11 23:17:57

标签: netlogo

我正在尝试制造一个能够在8个方向发射8发子弹的炮塔。在我拥有的命令中,它们都以标题0生成,如何使它们朝向正确的方向。每只乌龟应面对45的倍数。就像在观察者背景下使用cro命令一样。

to fire-tacks
ask ttacks with [alive?] [
set attackSpeed attackSpeed  + .5 
if any? turtles with [is-bloon?] in-radius 5 and attackSpeed >= 12
[set attackSpeed 0
 hatch-btacks 8 [set alive? false set is-turret? false
    set size 1 set damage 1 set color black set is-dart? true set bullet-
speed 4 
]]]
end

1 个答案:

答案 0 :(得分:2)

您可以使用rangeforeach执行此操作(查看链接以获取有关其工作方式的更多详细信息)。 range可以生成一系列您想要的标题,foreach可以迭代该序列,以便为每个标题发芽新的海龟。看看这个简化的例子:

breed [ turrets turret ]
breed [ btacks btack ]

to setup
  ca
  create-turrets 1 [
    setxy random-xcor random-ycor
  ]
  reset-ticks
end

to go
  ask turrets [
    foreach ( range 0 360 45 ) [
      new_heading ->
      hatch-btacks 1 [
        set heading new_heading
        fd 1
      ]
    ]
  ]
end