как установить значение или уровни "привлекательности" для определенных цветов патчей Netlogo - PullRequest
1 голос
/ 01 февраля 2020

Я довольно новичок в кодировании и Netlo go. Я надеюсь, что кто-то может мне помочь. Я попробовал и проверил различные модели в библиотеке моделей и образцы в inte rnet. Я до сих пор не могу понять это

Итак, мой вопрос заключается в следующем:

  1. Есть ли способ установить значение для определенного цвета патча? чтобы иметь возможность привлечь черепаху к этому цвету пятна, например. Я хочу, чтобы pcolor = orange имел уровень притяжения 5 и 10 для pcolor = yellow

  2. Если значение pcolor уже установлено, как заставить черепах оставаться на пятне? например. так как pcolor = желтый уровень притяжения равен 10, пусть черепахи останутся на 10 тиков), поэтому черепахи будут дольше оставаться на патче

Я уже могу сделать черепах go до пятна с оранжевым и желтым .. вот мой код:

to go
  if turtles = 0
  [ stop ]

  ask turtles   
  [ 
    navigate 
    attract 
  ]

  if ticks > 120 [ stop ]
  tick
end


to navigate
  facexy exit-x exit-y 

  if any? neighbors with [ pcolor = gray - 3 ]
  [ die ]
  ifelse any? neighbors with [ pcolor = gray or pcolor = orange or pcolor = yellow or pcolor = red or pcolor = black ]
  [ 
    facexy exit-x exit-y
  ]
  [ rt random-float visitor-view-angle lt random-float visitor-view-angle ]
  fd .5

end 

to attract
  ;; awareness zone
  if pxcor >= -4
    and pycor >= 9
    and pxcor <= 4
    and pycor <= 15
    [fd 0.5]

  ;;attraction zone
  if pxcor >= -4
    and pycor >= -8
    and pxcor <= 4
    and pycor <= 8
    [ rt random-float visitor-view-angle lt random-float visitor-view-angle ]
     fd 0.5

  ifelse any? patches with [ pcolor = orange or pcolor = orange or pcolor = yellow or pcolor = red ]
  [set heading towards one-of patches with [ pcolor = orange or pcolor = yellow or pcolor = red]]
  [fd 0.5]

   ifelse pxcor >= -4
    and pycor >= -15
    and pxcor <= 4
    and pycor <= -9
    [facexy exit-x exit-y]
    [fd 0.5]    
end
...