Netlogo如果它接触另一只乌龟,如何移除它

时间:2015-12-01 13:06:31

标签: netlogo

我们正在制作一个netlogo模型,其中鱼类被鲨鱼猎杀。它建立在植绒3d - 替代模型上。

目前我们让鲨鱼能够跟踪鱼类,但我们无法弄清楚如何让它们吃掉它们。现在,当它们相互接触时,它们会死亡:

ask fishes
  [ flock
    ;; if we've hit something
    ;; we're a goner
    if pcolor != black   [ hatch-dead-fishes 1
      [ bk 1 ]
      die ]
  ]

我们想要的是:

ask fishes
  [ flock
    if xcor and ycor and zcor of shark == xyz cor of a fish   
      [ hatch-dead-fishes 1
      [ bk 1 ]
      die ]
  ]

现在显然我们不知道如何正确编写此代码。我们还注意到,当一条鱼死亡时,它实际上并没有从屏幕上移除。任何人都知道

欢迎任何帮助!谢谢:))

1 个答案:

答案 0 :(得分:2)

你的鱼很可能正在消失,它们正被孵化死鱼取代。

让鲨鱼吃掉我发现的鱼

ask sharks [ask fish-here [die]]

(假设鱼和鲨鱼是两个品种,如果它们不是你应该让它们成为两个品种)

更改代码以执行相同的操作会更长

ask fishes
[ flock
if pxcor = [pxcor] of shark and pycor = [pycor] of shark and pzcor = [pzcor] of          shark 
    [ hatch-dead-fishes 1
    [ bk 1 ]
  die ]
]

我冒昧地将坐标更改为补丁而不是海龟,因为在浮点上很难发生碰撞