Как я могу получить идентификатор ребенка заштрихованной черепахи в контексте спросить черепаху? - PullRequest
0 голосов
/ 31 мая 2018

Я только начал использовать netlogo, и я пытаюсь перейти от ООП, поэтому я прошу прощения, если моя парадигма кодирования является источником моей проблемы.

Проблема

Внутри ask turtle процедура у меня вылупилась черепаха.Я хочу создать ссылку на заштрихованную черепаху с черепахой, которая заштриховала ее.Мне не нужно помнить семейные узы.

Попытки решить проблему

ask turtles [
    setxy ( mean [pxcor] of my-territory ) ( mean [pycor] of my-territory )
    show my-territory
    let parent-node [hatch 1]
    [ set color red
      if parent-node != nobody
      [ create-link-with parent-node [ set color green ]
        move-to old-node ;; position the new node near its partner
        fd 8
      ]]]

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

Ответы [ 2 ]

0 голосов
/ 31 мая 2018

Мне не совсем понятно, что вы пытаетесь сделать.Что такое родительский узел?Это узел, делающий штриховку?Если это так, то вам это вообще не нужно, поскольку ask turtles бросает вас в контекст черепахи (то есть черепаха, выполняющая команды, является родительским узлом).А что такое old-node?hatch поместит новую черепаху в то же место, что и вылупившаяся черепаха.

Если все, что вы пытаетесь сделать, это иметь другой люк для черепахи, свяжите инкубатор с инкубационным люком, а затем попросите ребенка.двигаться вперед, попробуйте это:

ask turtles
[ setxy ( mean [pxcor] of my-territory ) ( mean [pycor] of my-territory )      
  hatch 1
  [ set color red
    create-link-with myself [ set color green ]
    forward 8
  ]
]

Обратите внимание, что myself относится к тому, что делает запрос.

0 голосов
/ 31 мая 2018

Похоже, что вы хотите

if parent-node != nobody [
  ask parent-node [
    hatch 1 [create-link-with myself init-child]
  ]
]

, где init-child содержит ваши инициализации.

...