Netlogo 我如何以一种有条理的方式制作海龟脸,比如;cro";命令,但在海龟上下文中?

Netlogo 我如何以一种有条理的方式制作海龟脸,比如;cro";命令,但在海龟上下文中?,netlogo,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 attack

我正在尝试制作一个炮塔,它可以向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
您可以使用和来执行此操作(查看链接了解有关它们如何工作的更多详细信息)
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