EyeSim - Maze Format

The Maze format is a very simple input format for environments with right angles only, such as the Micro Mouse competitions.

Walls

The input is ASCII characters only. Walls are specified by single characters within a line. A "|" (at odd positions in a line, 1,3,5,..) denotes a wall piece in y-direction, a "_" (at even positions in a line, 2,4,6,..) is a wall piece in x-direction. So, each line contains in fact the horizontal walls of its coordinate and the vertical wall segments (if any) above it.

Example:
This defines a rectangle with two dividing walls.

 _ _ _
|    _|
|_|_ _|
However, the following is identical and reads nicer:
 _____
|    _|
|_|___|
Complex mazes can be constructed this way:
 _________________
|  _________|     |
| |  _____  | |___|
| | |_____  | | | |
| |  _  __|___|  _|
| |_|____________ |
| |___    |  _  | |
|  _  | |___| | __|
| | | |   | ____  |
|_|_____|_______|_|

Starting Positions

Characters may be added to a maze to indicate starting positions of one or multiple robots. Uppercase characters assume a wall below the character, lowercase letters do not:

Size

The size of a wall element can be specified in mm as a single integer number in the last line. If missing, 36cm is the default value.

Example:

 _________________
|  _________|     |
| |  _____  | |___|
| | |_____  | | | |
| |  _  __|___|  _|
| |_|____________ |
| |___    |  _  | |
|  _  | |___| | __|
| | | |   | ____  |
|S|_____|_______|_|
100
The robot will start in the bottom left position, facing up. The size of a wall element is set to 100 mm (10 cm).

Ball

A soccer ball can be inserted by using the symbol "o". The robots can then interact with the ball, e.g. push or kick it.

Example:

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


Thomas Bräunl