[Copyright status: This file is in the public domain.] level file format: (except as noted, whitespace may appear anywhere). level-file : nothing | level level-file ; level : level-name level-contents ; level-name : name-length nonblank-char name-string ; name-length is a number in decimal, containing no whitespace nonblank-char is any non-whitespace, non-digit character the name-string is the first name-length characters after, but not including, the nonblank-char level-contents : BOARD_Y "row"s ; row : BOARD_X "cell"s ; cell : one of the following character pairs, whitespace not allowed within the pair, permitted but not required between pairs __ blank QB blue square QY yellow square RB blue ring RY yellow ring PB blue plus PY yellow plus DB blue diamond DY yellow diamond CB blue colorizer CY yellow colorizer CF flip colorizer WL (immovable) wall MW movable wall TL teleporter MU mutator PL player SA \ SB | SC | SD | SE \ various SF / starfields SG | SH | SI | SJ /