Изменение цвета патча с течением времени / тиков

Мне нужна помощь с моей моделью NetLogo, пожалуйста.

Сейчас у меня по полю бродят черепахи (коровы). С заданной скоростью они меняют цвет пятна с зеленого на коричневый (представляя дефекацию на этом участке). Однако в нынешнем виде эти пятна остаются коричневыми навсегда, я хочу закодировать это так, чтобы после установленного количества тиков (определяемого мною ползунком) цвет патча снова стал зеленым (что означает деградацию навоза).

Моя текущая кодировка дефекации выглядит следующим образом:

to cow-defecate
  ask untreated-cows
    [if random 100 < defecation-rate [set pcolor brown]]
end

Любая помощь приветствуется - спасибо.


person user2960895    schedule 06.11.2013    source источник
comment
Вы должны добавить информацию о том, на каком языке вы это делаете, а также код того, что вы уже сделали ...   -  person Jakob    schedule 06.11.2013
comment
Извини, Якоб, забыл пометить это как NetLogo!   -  person user2960895    schedule 07.11.2013


Ответы (1)


Я бы посоветовал взглянуть на модель хищничества волков-овец в разделе «Биология» библиотеки моделей NetLogo. У него есть код, который делает именно это.

Соответствующие части кода:

patches-own [countdown]

to setup
  ...
  ask patches [
    set countdown random grass-regrowth-time
    set pcolor one-of [green brown]
  ]
  ..
end

to go
  ...
  ask sheep [ eat-grass ]
  ask patches [ grow-grass ]
  ...
end

to eat-grass  ;; sheep procedure
  if pcolor = green [
    set pcolor brown
  ]
end

to grow-grass  ;; patch procedure
  ;; countdown on brown patches: if reach 0, grow some grass
  if pcolor = brown [
    ifelse countdown <= 0
      [ set pcolor green
        set countdown grass-regrowth-time ]
      [ set countdown countdown - 1 ]
  ]
end

Обратите внимание, что grass-regrowth-time - это ползунок.

person Seth Tisue    schedule 07.11.2013