Back to shtanton's homepage
summaryrefslogtreecommitdiff
path: root/src/levels.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/levels.c')
-rw-r--r--src/levels.c488
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