2015-12-03 4 views
3

Есть ли способ породить черепах во время моделирования, даже если они умерли. В моей моделирующей рыбе есть планктон, поэтому, если они столкнутся с планктоном, планктон умирает/съедается. Однако, когда рыба больше не может есть планктон, она умрет, потому что она больше не получает энергию от планктона, едя ее. Поэтому, когда все рыбы умерли, планктон должен вернуться; из-за миграции и т. д. и растут очень. Я не уверен, как это реализовать? Функция создания здесь не работает, только в настройках.Как нерегулярно черепахи в netlogo

to plankton-reproduce 
    if random-float 100 < reproduce-plankton [ 
    set energy (energy/2) 
    hatch 1 [setxy random-xcor random-ycor] 
    ] 
    if count plankton < 10 [ 
    create-plankton 20 
    setxy random-xcor random-ycor 
    ] 

ошибка: вы не можете использовать Create-планктон в контексте черепахи, потому что создать-планктон наблюдатель только

+0

Никогда не просто сказать «не работает», - говорят нам, что именно сообщение об ошибке или неожиданное поведение, которое вы получили. –

+0

добавил ошибку – mnovabox

ответ

2

Я думаю, я могу понять вопрос.

чтобы иметь черепаху создать черепах использовать ХАТЧ. Ваш код будет работать (если я понимаю), если вы использовали

hatch-plankton 20 

вместо

create-plankton 20 

ли я получить это право? Черепахи hatch, исправления spawn и наблюдатель create s. черепахи, вылупившиеся, будут идентичны вылупляющимся черепахам, и все они будут в куске, где был вызван hatch. Предполагая, что вы этого не хотите. использование

hatch-plankton 20 [setxy random-xcor random-ycor] 
0

я включил это в коде, но когда счетчик планктона равен нулю, то не будет никакого планктон respawned, это происходит потому, что все планктон мертв и не может быть заштрихованы. Знаете ли вы еще один способ всплывания планктона или черепах респауна вообще во время симуляции, даже если они умирают? Под кодом для воспроизведения планктон:

to plankton-reproduce 
    while [count plankton != 0 and count plankton < 3000] 
    [ if random-float 100 < reproduce-plankton 
     [set energy (energy/2) 
     hatch-plankton 1 [setxy random-xcor random-ycor]]] 
    if count plankton = 0 
    [set energy 1 
    hatch-plankton 20 [setxy random-xcor random-ycor]] 
end