全部版块 我的主页
论坛 提问 悬赏 求职 新闻 读书 功能一区 经管百科 爱问频道
1313 0
2010-05-17
悬赏 5 个论坛币 未解决
是这样的。本人编程菜鸟,故问题多多!
AgentList1中的Agent有生有死,我想输出的是AgentList1中智能体数量随时间变化的曲线。
当采取下面策略的时候,输出的是一条不变的曲线,也就是列表中智能体的初始值。
NUMGraph = [EZGraph createBegin: [self getZone]];
      SET_WINDOW_GEOMETRY_RECORD_NAME (NUMGraph);
      [NUMGraph setTitle: "NUMGraph"];
      [NUMGraph setAxisLabelsX: "Time" Y: "NUM"];
      NUMGraph = [NUMGraph createEnd];
      [NUMGraph createSequence: "NUM"
                        withFeedFrom:  [modelSwarm getAgentList1]
                        andSelector: M(getCount)];
这是不是说明列表中的死去的智能体没有清除呢?下面的程序起作用吗?如何清除死亡的智能体呢?
#ifdef BCDE        
- agentDeath: (SugarAgent *)agent
{
  [reaperQueue addLast: agent];
  if (replacement)   
    [self addNewRandomAgent];
  return self;
}
- reapAgents
{
  id index, agent;
  
  index = [reaperQueue begin: [self getZone]];
  while ((agent = [index next]))
    {
      [agentList remove: agent];  
      
      [agent drop];
      
    }
     
  [reaperQueue removeAll];
   
  return self;
  
}
  还望高手教我呀!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群