0
我正在努力制定一種方法或算法,以使我的代理商沿着道路旅行,同時避免通過「建築物」以達到食物區域和返回家園爲目標。我已經對建築物和道路進行了編碼,但沿着道路的運動證明是困難的。該計劃顯示了一個8 x 8網格的城市,道路是線路,建築物是網格的正方形。我把這些建築物編碼爲屏障。我需要代理商朝着目的地的最佳路徑前進。這是我的代碼:尋找netlogo中的代理商
to get-aid
ask humans
[
ifelse (energy >= 500)
[
ifelse (patch-here = origin)
[
set energy energy - 10
stop
]
[
face origin
avoid-barrier
forward 1
set energy energy - 20
]
]
[
face min-one-of centres with [aid > 0]
[distance myself]
avoid-barrier
forward 1
set energy energy - 20
]
]
end
to avoid-barrier
if (nobody != patch-ahead 1) and ([barrier?] of patch-ahead 1)
[
right 90 + random 180
right random 40
]
end
你的問題是什麼? –
安德魯,在塞思的評論中擴大了:「沿着道路移動被證明是困難的」:以什麼方式?代理商是否根本不移動?他們在某些時候被卡住了嗎?他們正在離開道路嗎?穿過建築物?在特定行發生錯誤嗎?儘量提供足夠的信息,以便其他人可以找出你需要幫助的東西。 (請記住,我們沒有剩下的程序。)如果你向我們展示的代碼顯示了任何顯然不相關的東西(能量?),這也會有所幫助 - 這甚至可以幫助你自己解決問題。 – Mars
我已經設置了白色的補丁是道路,代理可以一起移動。棕色斑塊是建築物,他們無法穿過,並且充當障礙。我的問題是,我希望代理商在沿着道路行駛時使用最佳路線到達目的地,但不通過建築物。有沒有更簡單的方法來編碼避開障礙的路徑移動?由於我的代碼看到代理商碰到障礙,轉向另一個方向尋找目標。 – andrew