diff options
Diffstat (limited to 'src/levels.c')
-rw-r--r-- | src/levels.c | 157 |
1 files changed, 155 insertions, 2 deletions
diff --git a/src/levels.c b/src/levels.c index 21c3503..f0254d4 100644 --- a/src/levels.c +++ b/src/levels.c @@ -6,11 +6,18 @@ #define _ EMPTY, #define B BLACK, #define O BLUE, +#define R RED, +#define r YELLOW, +#define RL RED_LEFT, +#define RR RED_RIGHT, +#define RU RED_UP, +#define RD RED_DOWN, static Level levels[] = { { .grid = { + // level 1 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ - _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ RU _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ @@ -33,6 +40,34 @@ static Level levels[] = { }, }, { + // level 2 + .grid = { + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ O _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B + _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + }, + .goalx = 18, + .goaly = 10, + .placeableCells = { + RED, + RED, + }, + }, + { + // level 3 .grid = { _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ @@ -45,7 +80,7 @@ static Level levels[] = { _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B - _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ @@ -58,9 +93,127 @@ static Level levels[] = { RED, }, }, + { + // level 4 + .grid = { + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ B B B B B B B B B B B _ _ _ _ _ _ _ + _ _ B _ B O _ _ _ _ _ O B _ _ _ _ _ _ _ + _ _ _ _ B _ _ _ _ _ B B B _ _ _ _ _ _ _ + _ _ _ _ B _ _ _ _ _ B _ _ _ _ _ _ _ _ _ + _ _ _ _ B _ _ _ _ _ _ B _ _ _ _ _ _ _ _ + _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ B _ _ _ _ O B _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ + }, + .goalx = 10, + .goaly = 13, + .placeableCells = { + RED, + }, + }, + { + // level 5 + .grid = { + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ R B _ _ _ _ _ _ + _ _ _ _ _ _ B _ _ _ _ _ r B _ _ _ _ _ _ + _ _ _ _ r RD _ _ _ _ _ _ _ _ B _ _ _ _ _ + _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ RU _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ + _ _ R r _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ + _ _ B B _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ B _ _ _ RU _ _ _ _ B _ _ + _ _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ _ _ _ + _ _ _ _ _ _ O _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + }, + .goalx = 16, + .goaly = 10, + .placeableCells = { + RED, + }, + }, + { + // level 6 + .grid = { + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ RU _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ B _ _ _ _ O B _ _ _ _ _ _ _ _ + _ _ _ _ _ B _ _ _ _ O B _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + }, + .goalx = 6, + .goaly = 11, + .placeableCells = { + RED, + RED_UP, + RED_DOWN, + RED_LEFT, + RED_RIGHT, + }, + }, + { + // level 7 + .grid = { + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ RU _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ B _ _ _ _ O B _ _ _ _ _ _ _ _ + _ _ _ _ _ B _ _ _ _ O B _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + }, + .goalx = 6, + .goaly = 11, + .placeableCells = { + RED, + RED_UP, + RED_DOWN, + RED_LEFT, + RED_RIGHT, + }, + }, }; #undef _ #undef B #undef O +#undef R +#undef r +#undef RR +#undef RL +#undef RU +#undef RD #endif // INCLUDE_LEVELS_C |