EyeSim - Mazeフォーマット

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

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

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

 _ _ _
|    _|
|_|_ _|
しかし、下記は同一意味をもち、読みやすくなります。
 _____
|    _|
|_|___|
複雑な迷路もこのようにして定義することができます。
 _________________
|  _________|     |
| |  _____  | |___|
| | |_____  | | | |
| |  _  __|___|  _|
| |_|____________ |
| |___    |  _  | |
|  _  | |___| | __|
| | | |   | ____  |
|_|_____|_______|_|

スタート位置

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

寸法

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

例:

 _________________
|  _________|     |
| |  _____  | |___|
| | |_____  | | | |
| |  _  __|___|  _|
| |_|____________ |
| |___    |  _  | |
|  _  | |___| | __|
| | | |   | ____  |
|S|_____|_______|_|
100
ロボットは左下から上向きにスタートします。壁要素の大きさは100 mm (10 cm)に設定されています。

ボール

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

例:

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


Thomas Bräunl