diff options
Diffstat (limited to 'src/levels.c')
-rw-r--r-- | src/levels.c | 488 |
1 files changed, 488 insertions, 0 deletions
diff --git a/src/levels.c b/src/levels.c new file mode 100644 index 0000000..a5f1d15 --- /dev/null +++ b/src/levels.c @@ -0,0 +1,488 @@ +#ifndef INCLUDE_LEVELS_C +#define INCLUDE_LEVELS_C + +#include "all.c" + +#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 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ B O _ _ _ _ _ _ _ _ _ _ _ _ _ B + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + }, + .goalx = 18, + .goaly = 7, + .placeableCells = { + RED, + }, + }, + { + // level 2 + .grid = { + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ O _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B + _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + }, + .goalx = 18, + .goaly = 10, + .placeableCells = { + RED, + RED, + }, + }, + { + // level 3 + .grid = { + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ B O _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B + _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + }, + .goalx = 18, + .goaly = 10, + .placeableCells = { + BLACK, + 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 = { + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + }, + .need9 = 1, + .goalx = 6, + .goaly = 11, + .spawnerx = 10, + .spawnery = 6, + .spawnRate = 6, + .placeableCells = { + RED, + YELLOW, + RED_UP, + BLACK, + }, + }, + { + // level 8 + .grid = { + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ B B B _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ B B _ _ _ _ _ _ B _ _ _ _ _ _ _ + _ _ _ _ B B B _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + }, + .goalx = 11, + .goaly = 7, + .spawnerx = 6, + .spawnery = 7, + .need9 = 1, + .placeableCells = { + RED, + YELLOW, + }, + }, + { + // level 9 + .grid = { + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ RD _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ O _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ B O _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ RU _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + }, + .goalx = 12, + .goaly = 7, + .placeableCells = { + RED, + }, + }, + { + // level 10 + .grid = { + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ RU _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ B _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ B RD _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + }, + .goalx = 7, + .goaly = 9, + .spawnerx = 4, + .spawnery = 3, + .need9 = 1, + .spawnRate = 7, + .placeableCells = { + RED, + YELLOW, + BLACK, + BLACK, + BLACK, + BLACK, + BLACK, + BLACK, + }, + }, + { + // level 11 + .grid = { + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + B B B B B B B B RL _ _ _ _ _ _ _ _ _ _ _ + }, + .goalx = 15, + .goaly = 15, + .spawnerx = 9, + .spawnery = 15, + .need9 = 1, + .spawnRate = 7, + .placeableCells = { + RED, + YELLOW, + BLACK, + BLACK, + }, + }, + { + // level 12 + .grid = { + _ _ _ _ _ B _ _ _ _ _ _ RU _ _ _ _ _ _ _ + _ _ _ _ RU _ _ _ _ _ _ _ _ B _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ + _ B _ _ _ _ _ _ O B B _ _ _ _ _ _ _ _ _ + RU _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ + _ _ _ _ B _ _ _ _ _ _ _ _ _ RU _ _ _ _ _ + _ _ _ _ _ RU _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + B _ _ _ _ _ _ _ _ RU _ _ _ _ _ _ _ _ _ _ + _ RU _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ + }, + .goalx = 8, + .goaly = 7, + .spawnerx = 13, + .spawnery = 7, + .need9 = 1, + .spawnRate = 3, + .placeableCells = { + RED, + RED, + YELLOW, + YELLOW, + }, + }, + { + // level 14 + // An attempt at a red herring + // This one has some similarities to level 12 so I didn't want it to be level 13 + .grid = { + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ B B _ R B _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ B B _ r B _ _ _ _ _ _ _ _ _ _ _ + _ _ _ B O _ _ _ _ _ _ _ _ _ _ _ RU _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + }, + .goalx = 10, + .goaly = 7, + .spawnerx = 15, + .spawnery = 7, + .need9 = 1, + .spawnRate = 3, + .placeableCells = { + RED, + RED_UP, + YELLOW, + }, + }, + { + // level 15 + // This one is a bit tricky + .grid = { + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ RU _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ B _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + }, + .goalx = 7, + .goaly = 9, + .spawnerx = 4, + .spawnery = 3, + .need9 = 1, + .spawnRate = 2, + .placeableCells = { + RED, + RED, + YELLOW, + YELLOW, + BLACK, + BLACK, + BLACK, + BLACK, + BLACK, + BLACK, + }, + }, + { + // level ? + // Must go after blues turning yellows into reds is introduced + .grid = { + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ O B B _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + }, + .need9 = 1, + .goalx = 6, + .goaly = 11, + .placeableCells = { + RED, + RED_UP, + RED_DOWN, + YELLOW, + BLACK, + BLACK, + }, + }, +}; +#undef _ +#undef B +#undef O +#undef R +#undef r +#undef RR +#undef RL +#undef RU +#undef RD + +#endif // INCLUDE_LEVELS_C |