我正在研究一个模型,该模型由通过链接连接的一堆节点组成。最初有两种类型的代理,可以说是黄蜂和收集者。我的收藏家找到了一个蜜蜂所在的节点,前往它并收集蜜蜂。(该模型的工作方式是,当收藏家到达蜜蜂所在的节点时,蜜蜂被杀死,收藏家拥有的变量称为,收集的蜜蜂将更新1)。接下来,收集器将行进到某个节点,让坐骑蜂巢。在这一点上,我想创建一个新品种,可以说是蜜蜂的新品种,即红蜂。出现问题是因为只有观察者可以创建新品种,而收藏家则不能。孵化也将不起作用,因为它将创建更多的收集器,而不是新的红蜂。知道如何解决这个问题吗?
breed [yellow-bees yellow-bee]
breed [collectors collector]
breed [red-bees red-bee]
breed [nodes node]
breed [hives hive]
collectors-own [bees-collected current-node]
nodes [hive-present]
to go
...
...
ask collectors[
if current-node = nodes with [hive-present = True][
create-red-bees bees-collected
]
]
答案 0 :(得分:4)
class Person : public Logger::IStringable {
public:
Person(const std::string name) : _name(name) { }
virtual std::string ToString() const { return _name; }
private:
std::string _name;
};
int main()
{
Person p("Alice");
double d = 0.0;
const char* c = "Some words";
Logger::log(p);
Logger::log(d);
Logger::log(c);
}
版本(如NetLogo dictionnary entry中所述,会创建给定品种的新海龟),则孵化 会起作用。
这里是一个例子:
hatch-<breeds>