データの構造


格子世界を表現するプログラム内部のデータ構造は整数型の8×8の二次元 配列(以下,説明の都合上,この配列名を world とする)として実装する. 配列の各値は整数で,自由格子の場合は"0",障害物は"-1", 捕食者は "1",獲物は"10"とする.

初期状態データとして与えられるファイルのフォーマット

  1. 1行に1個の格子データ(整数)が与えられている.
  2. 格子データは,"0", "-1", "1","10"のいずれかである.
  3. 行数は全部で64である.
  4. 最初のデータ行のデータはworld[0][0]のデータとする,次のデータ行 から順に配列の同じ行の列方向に代入していく.配列の8列目(world[0][7]) まで埋まったら配列の行番号を一つ増やし,列番号を1に戻す.つまり,9行 目のデータはworld[1][0]に代入される. 具体例で述べると以下のようになる. 左側は読み込むデータであり,これを8×8の二次元配列に読み込んだ場合, 右側のデータで配列を初期化した場合と同じ結果になる.
    
    [データファイルの中身]   [初期化データ]
    
    0                       {{0,0,0,0,0,0,0,0},              
    0       ===>             {0,0,-1,0,0,1,0,0},
    0       読み込み         {0,0,10,0,0,0,0,0},
    0                        <以下省略>
    0
    0
    0
    0
    0
    0
    -1
    0
    0            
    1
    0
    0
    0
    0
    10
    0
    0
    0
    <以下省略>
    
    
    

    ...Return