Netlogo 我如何以一种有条理的方式制作海龟脸,比如;cro";命令,但在海龟上下文中?
我正在尝试制作一个炮塔,它可以向8个方向发射8发子弹。在我的命令中,它们都以标题0生成。如何使它们朝向正确的方向。每只海龟的脸都应该是45的倍数。就像在观察者上下文中使用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
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