Я добавляю нового агента и популяцию агентов ( Магазин / магазины ) в модель AnyLogi c и копирую существующий код для Работает / работает . Все работает кроме магазин (строчные). Обыскали все программное обеспечение, чтобы найти, где определено работа (в нижнем регистре) (чтобы сделать то же самое для магазин ), но безрезультатно; не может найти ничего, что объясняло бы, почему интерпретируется работа , а не магазин . (извините, я знаю, что вопрос сформулирован не лучшим образом - здесь абсолютный новичок). Это может быть AnyLogi c specifici c вопрос?
Вот строка с проблемой ( shop сразу после p.)
p.shop = shops.get( uniform_discr( 0, shops.size()-1 ) );
и вот полный код:
//setup work locations
for( int i=0; i<works.size(); i++ ) {
Work w = works.get(i);
w.X = 540 + 65 * ( i % 3 );
w.Y = 30 + 50* ( i / 3);
}
for( int i=0; i<shops.size(); i++ ) {
Shop s = shops.get(i);
s.X = 750 + 65 * ( i % 3 );
s.Y = 30 + 50* ( i / 3);
}
//setup families
for( int i=0; i<TotalFamilies; i++ ) {
//create a Family object
Family f = add_families();
//set home location
f.X = 50 * ( i % 10 );
f.Y = 40 * ( i / 10 );
//add family members
int size = uniform_discr( 2, 5 );
for( int j=0; j<size; j++ ) {
//create a person
Person p = add_people();
//add to the family
f.members.add( p );
p.family = f;
if (p.old == true)
{f.elderHome = true;
nOld++;};
//set its home location (in family house)
p.XHome = f.X + 5 + 5 * ( j % 3 );
p.YHome = f.Y + 6 - 5 * ( j / 3 ) ;
p.jumpTo( p.XHome, p.YHome );
//assign work and shops
p.shop = shops.get( uniform_discr( 0, shops.size()-1 ) );
p.work = works.get( uniform_discr( 0, works.size()-1 ) );
}
}
//infect three random people at the beginning of the simulation
for( int i=0; i<3; i++ )
people.get( uniform_discr( people.size()-1 )).
illness.receiveMessage( "Infection" );