jerson223 发表于 2008-11-28 09:26:19

Repast建模时,怎么在一个网格里面放多个对象?

最近做流行病模型,需要在一个网格里面放多个Agent,我查了一下API,使用OrderedMultiGrid类来构造,里面提供了一些putObjectAt(int, int, index);之类的东西。似乎可以用。但是当我编程调试的时候发现在同一位置只能获取一个对象。这是很令人纳闷的事情。我想问一下Repast有提供什么好方法处理吗,不仅要能存进去,还要能方便的拿出来。
private boolean findPotentialPartner(){
boolean value = false;

OrderedMulti2DGrid grid = space.getCurrentAgentSpace();
Iterator iterator = grid.getIteratorAt(x, y);
SexAgent ag1 = null;
SexAgent [] potenAgent = new SexAgent;
int goodNumber = 0;
while(iterator.hasNext()){
   System.out.println("XXXXXXXXXXXXXXXXXXXXX");
   ag1 = (SexAgent)iterator.next();
   if((ag1.sex == FEMALE)
   &&(!ag1.isCoupled())){
    System.out.println("YYYYYYYYYYYYYYYYYYYY");
    potenAgent = ag1;
    goodNumber ++;
   }
}

if(goodNumber >0){
   System.out.println("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ");
   Random rd1 = new Random();
   int select = rd1.nextInt(goodNumber);
   potentialParterner = potenAgent;
   value = true;
}
    return value;
}
始终只能打印出XXXXXXXXXXXXXXXXXXXX,请各位帮帮忙。

hark 发表于 2008-11-28 17:44:57

我想问下你这个打印的XXXXXX打印了几遍,还有你是否已经把agent添加进去了

x512775199 发表于 2010-7-8 18:15:38

囧。。。这么久都没人回

maggieryo 发表于 2012-4-14 14:56:01

08年提出的问题到现在都没有人解决啊,真是够可以的
页: [1]
查看完整版本: Repast建模时,怎么在一个网格里面放多个对象?