leas
leas

Reputation: 379

How to create links in netlogo and ask link-neighbors to execute commands according to link-length?

I've been trying to link turtles from BREED1 (still) to turtles from breed2 (mobile) who are on neighbors of BREED1. I want to do so in order to change a variable according the link-length between BREED1 and breed2. (you can say that BREED1 represent houses and breed2 represents people, I would like to change the fact that the people are "protected" or not, according to the distance that separates them from their house (BREED1 that they are linked to)) I don't know if this is the best way to do it, but here's my code, I know it's not working because the "protected" variable is always false by default.

to protect
ask n-of total-number-BREED1 BREED1
  [ if any? breed2-on neighbors
    [ create-link-with [who] of breed2-on neighbors]
  ask link-neighbors
    [ set protected true]
  ]

I would also like to add a part concerning the link's length

ask link-neighbors
  [ ifelse link-length < 2
    [set protected true]
    [set protected false]]

Thank you for your help !

Upvotes: 1

Views: 977

Answers (1)

mattsap
mattsap

Reputation: 3806

Try this to create links with the breed2-on the neighboring patches:

ask BREED1
  [ 
    if any? breed2-on neighbors [ create-links-with breed2-on neighbors]
     ask link-neighbors [ set protected true]
  ]

and this, which gets the link-length between the breed1 and it's neighbors

ask BREED1
[
   ask link-neighbors
    [
        if [link-length] of link-with myself < 2 [ do something]
    ]  
]

Note: link-length is called from a link's perspective, so you need to get the link that's connecting two things.

Upvotes: 2

Related Questions