我们正在制作一个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 ]
]
现在显然我们不知道如何正确编写此代码。我们还注意到,当一条鱼死亡时,它实际上并没有从屏幕上移除。任何人都知道
欢迎任何帮助!谢谢:))
答案 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 ]
]
我冒昧地将坐标更改为补丁而不是海龟,因为在浮点上很难发生碰撞