Netlogo 中的旋转海龟形状

Rotating turtle shape in Netlogo

Netlogo 的新手,无法弄清楚如何旋转海龟创建的图像。我是否必须将每只海龟移过网格以使其看起来像是在旋转,或者是否有更简单的方法?海龟应该移动并使创建的形状像俄罗斯方块一样向左旋转。

to LShape
  ca
  crt 1 [
    set color grey
    set heading 1
    set shape "dot"
    set size 2
    setxy 0 0
 ]

  crt 1 [
    set color grey
    set heading 1
    set shape "dot"
    set size 2
    setxy 0.8 0
  ]

  crt 1 [
    set color grey
    set heading 1
    set shape "dot"
    set size 2
    setxy 1.6 0
  ]

  crt 1 [
    set color grey
    set heading 1
    set shape "dot"
    set size 2
    setxy 1.6 -0.8
  ]
end



to RotateL
  ask turtles [
   set heading heading + 10
  ]
end

我为您生成了一个小示例。我首先创建一组简单的海龟并给它们一个位置。然后我让海龟 0(我选择它作为我的焦点海龟)为所有其他海龟创建一个 link。最后,我将所有 link 设置为并列。这意味着如果海龟 0 移动或转弯,所有其他 linked 海龟将与他一起移动和转弯。因为我使用了 create-links-to,所有的海龟都和海龟 0 一起移动。但是,如果你让另一只海龟移动,只有那只海龟会移动。让你轻松重塑身材

to setup
  ca
  resize-world 0 9 0 9
  
  crt 1[setxy 4 4]
  crt 1[setxy 4 5]
  crt 1[setxy 4 6]
  crt 1[setxy 5 4]  
  
  ask turtle 0 [create-links-to other turtles [tie] ]
  
end

to turn
  
  ask turtle 0 [set heading heading + 10]
  
end

您可以使用 create-links-with 来使连接双向工作。如果您有时想让不同的代理成为焦点,这可能很有用。下面是两只乌龟通过交替让任一转弯向前走的小示例代码。

to setup-2
  
  ca
  resize-world 0 9 0 9
  crt 1[setxy 0 3]
  crt 1[
    setxy 0 6
    create-link-with turtle 0 [tie]
  ]

end

to step-left
  
  ask turtle 0 [set heading heading + 20]
  
  
end

to step-right
  
  ask turtle 1 [set heading heading - 20]
  
end

如果你不想再把它们捆绑在一起,你可以简单地向 link 询问 untie。如果您愿意,links 仍将在那里重新绑定。 最后,如果 link 用 ask links [hide-link]

弄乱了图像,您可以让它们不可见