AnyLogic - 无法解决或不是外地问题。

问题描述 投票:1回答:1

我正在添加一个新的代理和代理群体(商店商店)到AnyLogic模型,并复制现有的代码,以实现 工作室. 一切都很正常,除了 铺子 小写)。搜索了整个软件,找到了 工作 (小写)的定义是(为了给 铺子),但无济于事;找不到任何东西可以解释为什么 工作 是解释而不是 铺子. (对不起,我知道这个问题的框架不是一个最好的方式 - 总的初学者在这里)。这也许是AnyLogic的具体问题?

这里是问题线(铺子 就在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" );
anylogic
1个回答
1
投票

work 是定义在代理类型 Person 作为一个参数或变量。

如果你的错误是标记为 shop这意味着你的代理类型 Person 不变 shop 属于 Shop). 添加后,错误就会消失。

PS:多做一些教程,多读一些面向对象的编程知识,更好的理解基本原理:)

© www.soinside.com 2019 - 2024. All rights reserved.