09. レシピブック 描画ツール2を使って歩くモデルの高速版 サンプルモデル4のpersonエージェントで
# point_idをランダムに取得(但し、goal_id_list以外)
def get_random_id(self):
r = random.choice(list(Universe.graph.nodes.keys()))
while r in Universe.goal_id_list:
r = random.choice(list(Universe.graph.nodes.keys()))
return(r)
というのは描画ツールの赤色のポイントのところ以外のポイントのidを取得している関数だと思いますが、赤色のポイントを網羅して順番に取得する方法を教えていただきたいです。
例) 赤色のポイントが3つでidが[2, 6,11]の場合、最初にその関数を呼び出した場合id2を返す、2回目にその関数を呼び出した場合id6を返す、3回目にその関数を呼び出した場合id11を返すというような関数
よろしくお願いいたします。
niverse.goal_id_list = [2, 6, 11]であれば、 モデルツリーで、Universe.n_goal_id_listを追加し、
univ_initにて変数の初期化
Universe.n_goal_id_list = 0
あとは任意の関数で値を取得し、変数に+1すればよいと思います。
one_goal_id = Universe.n_goal_id_list[Universe.n_goal_id_list]
Universe.n_goal_id_list += 1