gpt4 book ai didi

netlogo - 如何避免海龟再次回到上次所在的地方?

转载 作者:行者123 更新时间:2023-12-02 00:16:25 24 4
gpt4 key购买 nike

海龟在补丁上停留 60 个刻度,然后移动到另一个目标补丁。如何避免海龟再次回到上次所在的地方?谢谢

嗨塞思和弗兰克,

非常感谢您的回复。很抱歉我没有详细描述问题。

海龟不会访问它们在上一个刻度中所在的补丁,并且会在下一个刻度中移动到另一个最近的补丁。以下代码意味着他们找到最近的补丁,并继续前进。

我想做的是乌龟将在下一个刻度中再次找到最近的补丁。如果最近的补丁仍然与上一次更新时的补丁相同,他们将转向最接近自己的其他替代方案。谢谢

let closest-leaf min-one-of (patches in-radius 1 with [pcolor = lime]) [distance myself]

face closest-leaf

fd distance closest-leaf

最佳答案

一个好的方法是拥有一个可维护的海龟自己的访问补丁变量(请记住在创建海龟时将其初始化为空列表)。

turtles-own [ patches-visited ]

to setup
...
ask turtles [ set patches-visited [] ]
...
end

to move
let potential-targets filter [ not member? ? patches-visited ] target-patches
let target-patch one-of potential-targets

if target-patch != NOBODY [
set patches-visited fput target-patch patches-visited
; move to target patch
]
end

关于netlogo - 如何避免海龟再次回到上次所在的地方?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24403424/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com