给Netlogo中的海龟分配不同的随机名称



我用

在netlogo中创建了10只乌龟
 create-ordered-turtles 10  
    [ 
      let b median (list -17 (random-normal 0 5) 16)
      setxy b -12 
      set size 3  ; 
      set color black
    ]

现在我想给每只海龟分配一个随机的和不同的名字,使用一个像这样的随机函数

one-of [ "Name1" "Name2" "Name3" "Name4" "Name5" "Name6" "Name7" "Name8" "Name9" "Name10"]

这意味着所有10只海龟的名字将从Name1 nam10 。但是没有两只乌龟会有相同的名字。

我还想给每只海龟分配一个不同的整数量。

谁能告诉我怎么做呢?我会非常感激。由于

如果我们坚持你的问题描述,最简单的答案是以下

turtles-own [name]
to setup
  ca
  let names  [ "Name1" "Name2" "Name3" "Name4" "Name5" 
               "Name6" "Name7" "Name8" "Name9" "Name10"]
  create-ordered-turtles 10  
    [ 
      let b median (list -17 (random-normal 0 5) 16)
      setxy b -12 
      set size 3  ; 
      set color black
      set name item who names
    ]
end

可以用同样的方法赋值"整数值"。如果您想要一种不是专门针对您的问题描述的方法,您可以创建一个name-random-turtles过程,并在setup的末尾使用名称列表调用它。例如,

to name-random-turtles [#names]
  let _n length #names
  let _turtles [self] of (n-of _n turtles)  ;list of turtles, in random order
  foreach n-values _n [?] [
    let _turtle item ? _turtles
    let _name item ? #names
    ask _turtle [set name _name]
  ]
end

最新更新