2014-11-08 152 views
0

我正在模擬一個Stadion。我創建了幾行pcolor = 35。 現在我需要我的海龜數量在pcolor = 35的補丁上產卵,但無處可見。他們還需要隨機產生這些補丁。 我對這個問題的代碼如下所示:Netlogo:用特定的pcolor在某個補丁上產生一隻海龜

to seat-people 

set color green 

setxy int random-xcor int random-ycor 

if (pcolor = 35) [seat-people] 

if any? other turtles-here [seat-people] 

end 

海龜是綠色的,釀出隨機且有每個補丁只有一個龜; 但他們不會在帶有pcolor = 35的補丁上產卵,但無處不在!我怎麼做?

我見過代碼if (pcolor > 35) [seat-people], 但我已經有很多其他pcolors <和> 35比

回答

2

與此嘗試。 N是你想發芽的龜的數量,sprout 1是發芽1龜的程序,你可以隨意修改。

ask n-of N patches with [pcolor = 35 and not any? other turtles-here][sprout 1] 
+0

如果我通過滑塊爲海龜的數量,什麼是萌芽1代替n?我用你的代碼,並沒有出現一隻烏龜。 – finjou 2014-11-10 07:12:36

+0

我測試了我的代碼,它正在工作。如果你用一個數字代替N(比如說20),你所做的是:問20個補丁(有特定條件選擇)在其上發芽1只烏龜。總共有20只烏龜。現在再次閱讀你的問題,我不明白,如果你想烏龜產生綠色或其他顏色。我的代碼在綠色發芽烏龜,如果我明白錯誤,你只需用'!= 35'代替'= 35' – drstein 2014-11-10 13:48:24

+0

它現在起作用了,我必須改變我自己代碼的某些部分才能工作,但它工作正常!謝謝。 :-) – finjou 2014-11-16 19:10:01

1

我認爲你正在尋找的「不等於」運算符!=

Ask n-of 20 patches with [pcolor != 35][sprout 1] 
+0

我不知道我是否可以使用n-20個補丁,因爲補丁的數量不​​應該影響仿真,但是我嘗試了你的代碼以及你和我的組合,並且它不起作用。當我= 35代替= 35時,屏幕變黑,龜似乎隨機亂跑,好像無法放置。 – finjou 2014-11-10 07:15:56

+0

此外,如果我說「用[pcolor = 35] [發芽1]請求補丁,那麼每個pcolor 35的補丁都會產生一隻烏龜,導致大約600只烏龜產卵,如果我使用!= 35,那麼每個補丁都會產生一隻烏龜和屏幕上充滿了海龜。:-D – finjou 2014-11-10 07:44:38

+0

似乎有語言障礙。 – 2014-11-10 09:11:21

相關問題