2016-03-02 120 views
-1

我有一套條件時遇到一隻龜會死。當一隻烏龜死亡時,在同一個蜱中,我希望這些補丁找到他們最近的新烏龜。我寫了下面的代碼Netlogo:如何使補丁找到最近的龜後,其先前的龜死亡

to party-death 
    ask parties [ if (my-size = 0 and count parties > 2) 
[ die ask patches [set closest-party min-one-of parties [distance myself]] 
    ]] 

的問題是在哪個龜死亡,對他們來說,死烏龜是最接近的補丁不發現在同一個節拍下一個最近的龜蜱。

我還有一個子程序定義如下它拋出一個錯誤,因爲最接近龜在agentset補丁之一是死:

to citizen-comparison 
let voter-patches patches with [votes-with-benefit != 0] 
let nonvoter-patches patches with [votes-with-benefit = 0] 
ask voter-patches [ set voter-peccentricity [eccentricity] of closest-party] 
ask nonvoter-patches [ set nonvoter-peccentricity [eccentricity] of closest-party] 

That party is dead. 
error while patch 0 32 running OF 
    called by procedure CITIZEN-COMPARISON 
    called by procedure ELECTION 
    called by procedure GO 
    called by Button 'Go once' 

如何避免這種錯誤的問補丁選擇他們新的最接近的烏龜在他們的老最接近的烏龜死的同一個蜱中。

感謝任何幫助。謝謝

回答

1

這項工作?我剛剛移動了括號,以便die完成,然後找到

to party-death 
    ask parties [ if (my-size = 0 and count parties > 2) [ die ] ] 
    ask patches [set closest-party min-one-of parties [distance myself]] 
+0

它的工作原理。我記得嘗試過,但當時沒有工作。儘管如此,感謝您的幫助。 – Yuvaraj

相關問題