まだわかりにくいのですが、 つまり、1ステップに1つのエージェントしか動かさないようにするということですか? だとすると、 エージェントルールで If Universe.順序(GetCountStep()-1) == My.ID Then Main() End if Sub Main(){ 行動ルール } でUniverse.順序を配列を持つ変数で、配列数はエージェント数にして作成し、配列に中身に、エージェントIDをランダムに入れれば良いと思います。なお、重なり合わずに、ランダムに数値を入れる方法は自分で考えてください。 注意点として、上記のルールでは、当然のことながら、ステップ数がエージェント数を超えた場合は、エラーが出ますので、If文を使って回避してください。
回答者: igaguri さん , 回答日時: 2019/01/23 18:55
なお、確率的に、実行順序が回ってこないエージェントの存在を許すのであれば、 If Int(CountAgt(エージェント)*Rnd()) == My.ID Then Main() End if とすることも可能です。
Dim i As Integer Dim junjoset As Agtset Dim one As Agt For i = 0 to 99 One = CreateAgt(universe.空間.順序エージェント) One.tokuten = Rnd() AddAgt(junjoset,one) Next i SortAgtset(junjoset,"tokuten",true)