# EyeSim - Mazeフォーマット

Mazeフォーマットは、マイクロマウス競技大会のような９０度だけを利用する環境のための、非常に簡単な入力フォーマットです。

### 壁

入力ではASCII文字だけを使用します。壁を表す一つ線分を一つの文字で定義します。 "|"(奇数列1,3,5,..におく)はy方向の壁を表し、"_" (偶数列2,4,6,..におく)はx方向の壁を表します。実際にはある水平な壁の上には垂直な壁があります。

例:
これは２つの仕切り壁のある四角形の環境を設定します。

     _ _ _
    |    _|
    |_|_ _|

しかし、下記は同一意味をもち、読みやすくなります。

     _____
    |    _|
    |_|___|

複雑な迷路もこのようにして定義することができます。

     _________________
    |  _________|     |
    | |  _____  | |___|
    | | |_____  | | | |
    | |  _  __|___|  _|
    | |_|____________ |
    | |___    |  _  | |
    |  _  | |___| | __|
    | | | |   | ____  |
    |_|_____|_______|_|

### スタート位置

一つまたは複数のロボットのスタート位置を表すためには迷路上に文字を追加します。 このとき、大文字は文字の下に壁を定義し、小文字は壁を定義しません：

- S,s ロボットのスタート位置、上向き
- U,u ロボットのスタート位置、上向き (S,sと等価です)
- D,d ロボットのスタート位置、下向き
- L,l ロボットのスタート位置、左向き
- R,r ロボットのスタート位置、右向き

### 寸法

壁要素の寸法は、最終行に整数値を記述することで、mm単位で設定することができます。 もしも数字がない場合にはデフォルトとして36cmに設定されます。

例:

     _________________
    |  _________|     |
    | |  _____  | |___|
    | | |_____  | | | |
    | |  _  __|___|  _|
    | |_|____________ |
    | |___    |  _  | |
    |  _  | |___| | __|
    | | | |   | ____  |
    |S|_____|_______|_|
    100

ロボットは左下から上向きにスタートします。壁要素の大きさは100 mm (10 cm)に設定されています。

### ボール

サッカーボールは"o"シンボルを使って表すことができます。 そして、ロボットはそのボールに作用することが可能で、例えば押したり、キックしたりします。

例:

       _____________________________________________________
      |                                                     |
      |                                                     |
      |          r                               l          |
      |                                                     |
     _|                                                     |_
    |            r                               l            |
    |                                                         |
    |  r                         o                         l  |
    |                                                         |
    |_           r                               l           _|
      |                                                     |
      |                                                     |
      |          r                               l          |
      |                                                     |
      |_____________________________________________________|
    100