Получить цвет глобальных переменных с Netlogo

Взгляните на это:

Как добавить исходный код facebook с открытым исходным кодом для прямого проекта

Я также обнаружил, что флаг -lc ++ на самом деле вызвала ошибку компоновщика. Я выполнил инструкции в этой ссылке и удалил флаг, и все сработало!

0
задан Liz Lamperouge 19 February 2019 в 11:00
поделиться

1 ответ

Я думаю, что может быть не хватает какого-то кода, поэтому я не могу подтвердить, но, похоже, вы не установили BALL-OWNER как черепаху или патч, а вместо этого присвоили значение непосредственно этой переменной. of запрашивает переменную у агента (или список переменных из набора агентов), поэтому, если для BALL-OWNER установлено значение, NetLogo запутывается. Однако если вы назначаете агента для BALL-OWNER, ваш подход должен работать нормально. Например, попробуйте выполнить код ниже:

to setup
  ca
  crt 10 [ 
    setxy random-xcor random-ycor
    set color one-of [ red blue ] 
  ]
  reset-ticks
end

to go
  let ball-owner one-of turtles

  ifelse [color] of ball-owner = red [
    print "red team has possession"
  ] [
    print "blue team has possession"
  ]
end

Редактировать: Вы можете определенно использовать global, чтобы выбрать цвет, как вы делали во втором блоке кода - я просто хотел бы отметить, что of конкретно связано с agents. Если вы хотите сохранить цвет в переменной global для сравнения, это возможно, просто сравнение проще, чем использование of:

globals [ initial-possession ]

to setup
  ca
  crt 3
  set-initial-possession
  reset-ticks
end

to go 
  ask turtles [
    decision
  ]
end

to set-initial-possession
  set initial-possession ifelse-value ( random 2 = 1 ) [black] [white]
end


to decision
  ifelse initial-possession = black [
    print "I see that black has possession"
  ] [
    print "I see that white has possession"
  ]
end

Я не уверен, поможет ли это, в первую очередь это может зависеть от вашей цели сохранить цвет в global!

0
ответ дан Luke C 19 February 2019 в 11:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: