# エージェント集合操作(生成) ## make_agtset 引数の指定に当てはまるエージェントの集合を取得する。 **make_agtset**(agttype=None, space=None, layer=None, only_alive=False) - **agttype** - 指定するエージェント種別。指定しない場合は全てのエージェント種別。 - **space** - 指定する空間。指定しない場合は全ての空間。 - **layer** - 指定するレイヤ。指定しない場合は全てのレイヤ。 - **only_alive** - killフラグが立っていないエージェントのみを指定するかどうか。初期値はFalse。 ``` # エージェント種別personのエージェント集合を取得する people = make_agtset(agttype=Universe.city.person) # エージェント種別personのエージェントのうち、killフラグが立っていないエージェントの集合を取得する people = make_agtset(agttype=Universe.city.person, alive=True) ``` ## make_agtset_around_position 連続空間上の指定した位置から指定した範囲内にいるエージェントの集合を返す。 **make_agtset_around_position**(distance, space, x, y, layer, agttype=None) - **distance** - 指定する範囲の広さ。 - **space** - 指定する空間。 - **x** - 指定する位置のx座標。 - **y** - 指定する位置のy座標。 - **layer** - 指定するレイヤ。 - **agttype** - 集める対象とするエージェント種別。初期値はNoneで、このとき全てのエージェント種別を対象とする。 ※連続空間でのみ使用可能。 ``` # 空間Universe.cityのレイヤ0の座標(25,30)から距離10以内に存在するエージェントの集合を取得する group = make_agtset_around_position(10, Universe.city, 25, 30, 0) # 空間Universe.cityのレイヤ0の座標(25,30)から距離10以内に存在するエージェントのうちUniverse.city.person種別のエージェントのみを取得する people = make_agtset_around_position(10, Universe.city, 25, 30, 0, agttype=Universe.city.person) ``` ## make_agtset_around_position_sqgrid 四角格子空間上で、指定した位置から指定した範囲内にいるエージェントの集合を返す。 **make_agtset_around_position_sqgrid**(distance, space, x, y, layer, agttype=None, manhattan=False) - **distance** - 指定する範囲の広さ。 - **space** - 指定する空間。 - **x** - 指定する位置のx座標。 - **y** - 指定する位置のy座標。 - **layer** - 指定するレイヤ。 - **agttype** - 集める対象とするエージェント種別。初期値はNoneで、このとき全てのエージェント種別を対象とする。 - **manhattan** - Falseのときは指定範囲をチェビシェフ距離で、Trueのときはマンハッタン距離で定義する。初期値はFalse。 ``` # 空間Universe.cityのレイヤ0の座標(25,30)からチェビシェフ距離で距離2以内に存在するエージェントの集合を取得する group = make_agtset_around_position_sqgrid(2, Universe.city, 25, 30, 0) # 空間Universe.cityのレイヤ0の座標(25,30)からマンハッタン距離で距離3以内に存在するエージェントのうちUniverse.city.person種別のエージェントのみを取得する people = make_agtset_around_position(3, Universe.city, 25, 30, 0, agttype=Universe.city.person, manhattan=True) ```