Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
645 views
in Technique[技术] by (71.8m points)

netlogo - Two agents of the same breed

I was wondering how you would refer to two agents of the same breed without specifically stating the who/number of the turtles. What I'm trying to do is when two players are on the same patch, the larger player consumes the smaller player. But there are players constantly spawning, so how do I refer to them without specifically stating the who? Any help is appreciated! This is what I have so far: ''' ask players [if any? other players-here [if size player '''

question from:https://stackoverflow.com/questions/65867804/two-agents-of-the-same-breed

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

You can use max-one-of to find the largest player and give them a temporary name (eg "biggest"). Then you can address the player directly. It would look like this:

to consume          ; patch procedure
  ask patches
  [ let biggest max-one-of players-here [size]
    ask biggest
    [ if any? other players-here
      [ ... ]                  ; code to get eaten
    ]
  ]
end

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...