如何创建创建(或拥有)具有特定属性的对象的海龟?

How to create turtles that create (or are owner of) objects with specific attributes?

下面的代码应该 select 一只随机乌龟 (selected) 并让它创建一个具有属性 (size, shape) 的对象。 selected是局部变量,objects是品种; new_objectsizeobjects-own。 我考虑为这些对象创建一个品种的原因是我想通过时间来监控网络中的这些对象。在我的代码中,对象的 sizeshape 应该具有相同的值 selected's sizeshape。可能会有另一种方法来做我想做的事情,比我的方法更有效、更正确。

  let selected nobody

      set selected one-of turtles with [breed = engineersA or breed = engineersB]
      if empty? [my-list] of selected [
        ask selected [
                set size random-float 1
              ]
                create-objects random 10[
                hide-turtle
                set new_object self
                set size [size] of selected
                set shape [shape] of selected
              ]
              set my-list fput new_object my-list
       ] 

new_object in my-list 应该仍然保留关于大小和形状的信息。 我应该遵循的模式是:

由于我在绘制对象时遇到了一些问题(当我想区分engineersA创建的对象和engineersB创建的对象时),我想请你帮助更好地理解如何创建拥有 objects/items 的海龟。

任何建议 and/or 评论将不胜感激。

谢谢

你没有说你的问题是什么。但是可以通过三种方式创建海龟代理。查看 create-sprout-hatch-。在这种情况下,您需要 hatch 因为这是父海龟创建具有相同属性值的子海龟的方式。执行 hatch-objects 而不是 create-objects。这也指定了子海龟的品种。

这是否符合您的要求?它从父级继承大小和形状,并使用 myself 来引用父级海龟。

ask one-of turtles with [breed = engineersA or breed = engineersB]
[ if empty? my-list
  [ set size random-float 1
  ]
  hatch-objects random 10
  [ hide-turtle
    let this-object self
    ask myself
    [ set my-list fput this-object my-list
    ]
  ]
]