如何让代理停留在netlogo中的某个补丁上?

问题描述 投票:0回答:1

我是一名初学者,我的模型中的代理是国家/地区,我想让它们位于不同的补丁上,彼此远离,并使它们稳定,因为它们不会移动。

我无法尝试任何东西,因为我仍在学习并且我对代码一无所知

这是我到目前为止的代码:

turtles-own [
  military-strength
  economic-strength
]

to setup
  clear-all
  create-turtles 20 [
    set size 1 + random-float 6
    setxy random-xcor random-ycor  ; Set initial location to a random patch
    set shape "flag"
    set color one-of [blue green red yellow orange pink cyan magenta brown black gray violet]
    set military-strength random-float 0.2 + 0.1
    set economic-strength [1 2 3]
  ]
  reset-ticks
end

to go 
  ask turtles [fd 0]
end 
netlogo
1个回答
0
投票

如果你想让海龟移动到一定距离之外的地方那么你可以尝试这个。

turtles-own [
  military-strength
  economic-strength
]

globals [
  r
]

to setup
  clear-all
  set r 10; change this value
  
  create-turtles 20 [
    let valid-position? false
    while [not valid-position?] [
      setxy random-xcor random-ycor
      if all? other turtles [
        distance myself > r
      ] [
        set valid-position? true
      ]
    ]
    
    set size 1 + random-float 6
    set shape "flag"
    set color one-of [blue green red yellow orange pink cyan magenta brown black gray violet]
    set military-strength random-float 0.2 + 0.1
    set economic-strength one-of [1 2 3]
  ]
  reset-ticks
end

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.