2014-08-27 27 views
2

我相信這是一個菜鳥問題,但我仍然習慣於NetLogo,所以請原諒我。如何檢查變量對所有代理具有相同的值?

我正在使用我爲品種創建的變​​量作爲標誌。如果所有品種的變量都具有相同的價值,我認爲我的旗幟開着,我採取了一定的行動。我如何檢查變量對於NetLogo中的所有代理/品種都具有相同的值?

例如:

breeds-own [ flagvariable ] 

我如何檢查,對所有品種flagvariable = 1

謝謝。

回答

1

而不是讓flagvariable成爲品種自己的變量,它應該是龜類自己的變量,因爲它被所有的龜類共享。然後,你可以使用all?,檢查所有的海龜有它設置爲某個值:

all? turtles [ flagvariable = 1] 

另外,如果你不小心的價值是什麼,你可以使用remove-duplicates以確保它們都有相同的值:

length remove-duplicates [ flagvariable ] of turtles = 1 

在這裏,我們正在計算當前有多少個不同的flagvariable值。如果它恰好是1,那麼我們知道所有的烏龜都有相同的價值。

+0

謝謝。這似乎工作。但是,我現在意識到我的模型不會重複。看來我的程序在執行過程中只執行一次,然後在#1之後,執行程序不再執行,但滴答計數器繼續增加。奇怪。對於什麼可能造成這種「流程被凍結」的情況有什麼見解? 謝謝。 – AEA 2014-08-27 19:48:10

+1

很高興答案幫助你。確保它的標記是正確的,以幫助人們知道哪些問題已得到滿意的回答。 關於你的新問題,我肯定需要更多的信息(包括代碼片段)。也就是說,你應該在stackoverflow上打開一個新問題,而不是在這裏的註釋中提問。 – 2014-08-27 23:54:57

相關問題