1. 読み方 本仕様は、次の記法を行っている。 【小文字】foo : CSV の要素 【大文字】BAR : CSV の部分集合 【大括弧】hoge[1] : 配列の添字 【小括弧】piyo(integer) : 型 2. CSV 仕様 2.1 基本仕様 ゲーム全体の情報を記述した部分(MASTER_INFO)と、各ターンの情報を記述した部分(TURN_INFO)とに分かれる。 各ターンの情報を記述した部分は、ゲームの進行に伴って上に追記されるになっており、下に行くほど過去のターンに遡る。 したがって、最新の情報は常に一番最初に記述されている。 TURN_INFO[maxturns]   ... TURN_INFO[1] MASTER_INFO - MASTER_INFO : ゲーム全体の情報 - TURN_INFO[] : 各ターンの情報 2.2 MASTER_INFO teams, width, height, unitsteps, maxturns, maxget, energyloss_normal, energyloss_grad, maxcheckpoints, timelimit GRID checkpoint[1], ..., checkpoint[maxcheckpoints] - teams(integer) : チーム数 - width(integer) : マップ幅 - height(integer) : マップ高さ - unitsteps(integer) : 1 ターンで入力可能なステップ数 - maxturns(integer) : 最大ターン数 - maxget(integer) : 1 ステップで取得可能な荷物数 - energyloss_normal(integer) : 基本エネルギー消費量 - energyloss_grad(integer) : 荷物毎エネルギー消費量 - maxcheckpoints(integer) : 最大チェックポイント数 - timelimit(integer) : 移動指定の締め切り時間(秒単位) - GRID : 各マスの情報 - checkpoint[] : 各チェックポイントの残り荷物数(順序は GRID に記載された通し番号順) 2.3 GRID cell[0][0], ..., cell[0][width-1] ........................ cell[height-1][0], ..., cell[height-1][width-1] - cell[][](char or integer) : マスの状態。値によって次のように意味が異なる。 'T' : 何もない 'O' : 障害物 'G' : ゴール地点 'S' : スタート地点 integer : チェックポイント(値は通し番号) 2.4 TURN_INFO turn_no checkpoint[1], ..., checkpoint[maxcheckpoints] TEAM[1] ... TEAM[teams] DIFF[1] ... DIFF[teams] - turn_no : ターン数 - checkpoint[] : 各チェックポイントの残り荷物数(順序は GRID に記載された通し番号順) - TEAM[] : 各チームの状態 - DIFF[] : 各チームにおける各ステップの動き 2.5 TEAM team_id, booth_id, x, y, packages, energyloss, checkpoints, checkpoint[1], ..., checkpoint[checkpoints] - team_id(integer) : チームID - booth_id(integer) : ブースID - x(integer) : 横位置 - y(integer) : 縦位置 - packages(integer) : 積載荷物数 - energyloss(integer) : 消費エネルギー - checkpoints(integer) : チェックポイント通過数 - checkpoint[](integer) : 通過したチェックポイントのID 2.6 DIFF team_id, booth_id, direction[1], packages_get[1], direction[2], packages_get[2], ... - team_id : チームID - booth_id : ブースID - direction[](char) : 移動方向('U':上, 'D':下, 'L':左, 'R':右, 'P':停車) - packages_get[](integer or 'G') : 取得荷物数(ゴール宣言する場合に限り 'G') 3. 例 ※※ 以下の例を訂正しました(2008/9/12) ※※ 2 0,12 12,1,2,4,10,40,1,1 51,2,2,4,10,40,1,1 32,3,3,5,0,20,0 12,1,L,10,R,0 51,2,L,10,R,0 32,3,D,0,R,0 1 20,12 12,1,2,4,0,10,0 51,2,2,4,0,10,0 32,3,2,4,0,10,0 12,1,D,0,D,0 51,2,D,0,D,0 32,3,D,0,D,0 3,6,6,2,10,20,5,2,2,60 T,T,T,T,T,T T,T,T,O,T,T T,T,S,O,T,2 T,T,T,O,T,T T,1,T,O,G,T T,T,T,T,T,T 20,12