У меня есть две породы ромашек и две породы кроликов: Как получить кролика одного цвета, чтобы есть только один цвет ромашки? - PullRequest
0 голосов
/ 17 марта 2020

Для классного проекта я изменяю модель daisyworld, чтобы иметь черных и серых кроликов в мире. Я бы хотел, чтобы серые кролики ели черные ромашки, а коричневые кролики ели белые ромашки. Однако, когда я пишу свой код (ниже), кролики задумываются о том, что они вообще не едят ромашки и, в конце концов, все выключаются. Я не получаю никаких ошибок в моем коде из-за синтаксиса, что кролики просто не едят указанные c ромашки. Любые предложения о том, как этого добиться?

Дополнительная информация: я добавил логическое значение для ромашки черного цвета. Черные ромашки верны, а белые - ложь. Я планировал иметь это свойство как то, что кролики искали, чтобы решить, должны ли они есть ромашку или нет.

"_____ Кроличья выгода от пищи" - это просто количество энергии, которую кролики получают от еды ромашкой. При осмотре кроликов очень редко их энергия возрастает go. Иногда это означает, что они нашли маргаритку, чтобы поесть. Но не так часто, как это должно происходить.

Ниже приведена часть моего кода, рассказывающая кроликам, как и что есть. Видите какие-либо проблемы или предложения? Все приветствуется!

to go
  ask grey-rabbits [
    move
    set energy energy - 1
    eat-black-daisies
    death
    reproduce-grey-rabbits
  ]
  ask brown-rabbits [
    move
    set energy energy - 1
    eat-white-daisies
    death
    reproduce-brown-rabbits
  ]


to eat-black-daisies ;grey rabbits eat black daisies
  let prey one-of daisies-here with [daisy-black = true]
     if prey != nobody
      [ask prey [die]
      set energy energy + grey-rabbit-gain-from-food]

end


to eat-white-daisies ;brown rabbits eat white daisies
    let prey one-of daisies-here with [daisy-black = false]
      if prey != nobody
      [ask prey [die]
        set energy energy + brown-rabbit-gain-from-food]

end
...