Как заставить черепах бегать взад и вперед по цветному участку?

#netlogo

#netlogo

Вопрос:

У меня есть простое изображение в виде карты. Я бы хотел, чтобы черепашки начинали со светло-серого цвета и переходили к более темным участкам для получения ресурсов. Как я могу это сделать?

Мой код

 to setup-patches
  import-drawing "01.png"
  import-pcolors "01.png"
  ask patches [
    setup-house
    ;setup-resource
  ]
end

to setup-house
  create-turtles [setxy where pcolor = grey]
  set house? where pcolor = grey
end
  

Изображение находится на https://i.imgur.com/dmODyUW.png.

Я могу предоставить более подробную информацию по запросу.

Комментарии:

1. Извините за мой первоначальный вопрос, я начал кое-какую работу, и я опубликую свою работу через минуту.

2. вы пытаетесь создать дом на каждом сером участке или только на некоторых из них?

3. Светло-серый участок — это то место, где находится дом, а более темный — это место, где они добывают ресурсы. Черепашки будут перемещаться взад и вперед между этими двумя цветными участками.

Ответ №1:

Хорошо, patch на самом деле термин NetLogo обозначает одну из ячеек сетки в мире. Судя по вашему изображению, серые области будут охватывать несколько участков NetLogo каждый. Следующий код создает несколько случайных серых областей с несколькими участками и дом на одном из участков в одной из серых областей.

 breed [houses house]

to testme
  clear-all
  setup-patches
  setup-houses
end

to setup-patches
  ask n-of 3 patches
  [ set pcolor gray
    ask neighbors
    [ set pcolor gray
      ask neighbors
      [ set pcolor gray
      ]
    ]
  ]
end

to setup-houses
  ask one-of patches with [pcolor = gray]
  [ sprout-houses 1
    [ set color red
    ]
  ]
end
  

Ваш вопрос слишком расплывчатый, чтобы на него можно было ответить должным образом, но, надеюсь, это выведет вас на правильный путь. Я предлагаю вам переделать руководства по NetLogo и посмотреть на некоторые модели в библиотеке, входящей в состав программного обеспечения, чтобы найти фрагменты кода, которые выполняют задачи, которые вам понадобятся.

Комментарии:

1. Спасибо, это делает то, что я хотел. Но если серьезно, я многим вам обязан после того, как я не очень четко сформулировал свой вопрос, а вы все равно ответили на мой запрос.