2013-12-18 27 views
2

我有逃稅的模式,每一輪都應繳稅。每1000個滴答。作爲一個佔位符,我有這樣的代碼Netlogo我怎樣才能使每1000個蜱發生什麼事

ask traders with [ticks = 1000 or ticks = 2000 or ticks = 3000];; Can this be set using a seed? 
    [reset-parameters 
     pay-taxes 
     revise-behavior 
     reset-turnover] 

在SQL中,我定會好好做這樣的事情:

因我1..3000 LOOP 問貿易商蜱= I * 1000

Netlogo中是否有類似的功能?有關如何使每1000個滴答發生一些事情的任何其他提示?

回答

1

最後裹着我的頭圍繞一個簡單的sollution:

ask traders with [ticks mod 1000 = 0] 
3

自己的解決方案將工作,但不是最優的。

由於ticks是全球NetLogo記者,而不是traders變量,因此ticks mod 1000 = 0返回的值不隨每個交易者而變化。它們可以是true,也可以是false,因此with條款(對於每個交易者將重新評估)沒有用處。

它會更快(更清晰)只是做:

if ticks mod 1000 = 0 [ 
    ask traders [ 
    do-something 
    ] 
] 
+0

這是有道理的,並很容易修復!謝謝。 N – Ullsokk

+0

感謝您的編輯,Seth。首先它應該是這樣。 –

1

一個非常簡單的解決這個問題,可能甚至在後面跟蹤會是這樣

turtles-代碼自己的[tradetime];用來計算時間或可改變任何變量

去;;或者其它任何 集tradetime tradetime + 1 問貿易商[IF(tradetime = 1000)做出頭] 月底

,或者如果你只想有交易員認爲值,那麼你可以做到這一點

海龜,自己[tradetime]

去 問貿易商[設置tradetime tradetime + 1] 問交易員[如果(交易時間= 1000)[做某事] 結束 希望這可以幫助