我想有一個領域有許多不同的補丁,它有一些屬性(例如隨機(但固定)食物量)以及名稱或一個ID。 也就是說,左上角的補丁應該有名字「1」(或者什麼是可行的),但是不允許與其他人共享這個名字!NetLogo - 如何給每個補丁一個獨特的身份/ plabel /名稱
感謝您的幫助,我找不到任何東西。
我想有一個領域有許多不同的補丁,它有一些屬性(例如隨機(但固定)食物量)以及名稱或一個ID。 也就是說,左上角的補丁應該有名字「1」(或者什麼是可行的),但是不允許與其他人共享這個名字!NetLogo - 如何給每個補丁一個獨特的身份/ plabel /名稱
感謝您的幫助,我找不到任何東西。
補丁座標已經作爲一個唯一的ID。因此,patch 7 10
是指具有pxcor
7和pycor 10
的補丁。
這就是說,如果你想一個整數ID,你可以這樣做:
patches-own [ id ]
...
(foreach (sort patches) (n-values count patches [?]) [
ask ?1 [ set id ?2 ]
])
sort patches
創建補丁列表,左上角片是第一,並繼續從左正確,從上到下。
n-values count patches [?]
創建一個數字列表,從0到count patches - 1
。
關於爲每個補丁分配「唯一標識」,我的建議是... 不要這樣做。修補程序已通過它們的組合pxcor
和pycor
唯一標識。所以如果你想訪問左上角的補丁,你可以將其稱爲patch -16 16
。
你也應該知道,補丁(以及海龜和鏈接)的引用可以直接存儲在變量中。因此,無論何時您想要存儲「修補程序ID」,都應該存儲對修補程序的引用。例如,如果你想存儲在一個全局變量左上角補丁:
globals [ top-left-patch ]
to setup
set top-left-patch patch min-pxcor max-pxcor
end
(min-pxcor
和min-pycor
將報告-16
和16
,或什麼是適合你的世界的維度。)
然後後來,你可以直接引用存儲補丁:
ask top-left-patch [ set pcolor red ]
但是,如果你確實想仍然創造一個id,布萊恩的回答是要走的路。
非常感謝!這正是我開始所需要的。 – Marco
@Marco那你應該接受答案! :) – user299791