モデルの作り方(自習用)

外部ファイルから初期値を設定しつつエージェントを作成する

概要

エージェントの初期値を記述した外部ファイルを読み込み、初期値を設定しつつエージェントを作成する。

方法

①外部ファイルを作成します
各エージェントのX座標とY座標をCSVで作成します。
(例)
1,5 //X座標が「1」、Y座標が「5」のエージェントを作成します
7,2 //X座標が「7」、Y座標が「2」のエージェントを作成します

②Univ_Initにて外部ファイルから初期値を設定しつつエージェントを作成します

(例)

Sub MakeAgtFromData(filepath As String) {
  Dim buf As String
  Dim count_line As Integer
  Dim new_agt As Agt
  // ファイルからの読み出し
  if (OpenFile( filepath,101,1)) then
     count_line = 0
     print("オブジェクトデータの読み込み中")
     buf = ReadFile(101)
     Do While (IsEofFile(101) == false)
        buf = ReadFile(101)
        if (Len(buf) > 1) then // 空行対策
            new_agt = CreateAgt(Universe.sky.tori)
            new_agt.X = GetToken(buf, 0)
            new_agt.Y = GetToken(buf, 1)
        end if
        if ((count_line Mod 10000) == 0) then
            print("・")
        end if
        count_line = count_line + 1
    Loop
    println("Done.(" & count_line & ")")
    CloseFile(101)
  else
     println("オブジェクトデータが読み込めませんでした。")
  end if
}

サンプルモデルの「テキストファイル入出力モデル」もご参考にしてください。
サンプルモデルのページ