From 3fcec49d18769801d548e8acda0ed82fabb6c221 Mon Sep 17 00:00:00 2001 From: turnipgod Date: Sat, 1 Mar 2025 19:59:26 -0500 Subject: tetromino data --- inc/tetromino.h | 212 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 212 insertions(+) create mode 100644 inc/tetromino.h (limited to 'inc') diff --git a/inc/tetromino.h b/inc/tetromino.h new file mode 100644 index 0000000..ebe5930 --- /dev/null +++ b/inc/tetromino.h @@ -0,0 +1,212 @@ +enum TetrominoTypes { + I = 0, + J, + L, + O, + S, + T, + Z +}; + +enum Direction { + NORTH = 0, + EAST, + SOUTH, + WEST +}; + +struct Tetromino { + int size; + struct Color color; + int directions[4][4][4]; +}; + +struct Tetromino Tetrominos[7] = { + [I] = { + .size = 4, + .color = SKYBLUE, + .directions = { + [NORTH] = { + {0, 0, 0, 0}, + {1, 1, 1, 1}, + {0, 0, 0, 0}, + {0, 0, 0, 0} + + }, + [EAST] = { + {0, 0, 1, 0}, + {0, 0, 1, 0}, + {0, 0, 1, 0}, + {0, 0, 1, 0} + }, + [SOUTH] = { + {0, 0, 0, 0}, + {0, 0, 0, 0}, + {1, 1, 1, 1}, + {0, 0, 0, 0} + }, + [WEST] = { + {0, 1, 0, 0}, + {0, 1, 0, 0}, + {0, 1, 0, 0}, + {0, 1, 0, 0} + } + } + }, + [J] = { + .size = 3, + .color = BLUE, + .directions = { + [NORTH] = { + {1, 0, 0}, + {1, 1, 1}, + {0, 0, 0} + }, + [EAST] = { + {0, 1, 1}, + {0, 1, 0}, + {0, 1, 0} + }, + [SOUTH] = { + {0, 0, 0}, + {1, 1, 1}, + {0, 0, 1} + }, + [WEST] = { + {0, 1, 0}, + {0, 1, 0}, + {1, 1, 0} + } + } + }, + [L] = { + .size = 3, + .color = ORANGE, + .directions = { + [NORTH] = { + {0, 0, 1}, + {1, 1, 1}, + {0, 0, 0} + }, + [EAST] = { + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 1} + }, + [SOUTH] = { + {0, 0, 0}, + {1, 1, 1}, + {1, 0, 0} + }, + [WEST] = { + {1, 1, 0}, + {0, 1, 0}, + {0, 1, 0} + } + } + }, + [O] = { + .size = 3, + .color = YELLOW, + .directions = { + [NORTH] = { + {0, 1, 1}, + {0, 1, 1}, + {0, 0, 0} + }, + [EAST] = { + {0, 1, 1}, + {0, 1, 1}, + {0, 0, 0} + }, + [SOUTH] = { + {0, 1, 1}, + {0, 1, 1}, + {0, 0, 0} + }, + [WEST] = { + {0, 1, 1}, + {0, 1, 1}, + {0, 0, 0} + } + } + }, + [S] = { + .size = 3, + .color = GREEN, + .directions = { + [NORTH] = { + {0, 1, 1}, + {1, 1, 0}, + {0, 0, 0} + }, + [EAST] = { + {0, 1, 0}, + {0, 1, 1}, + {0, 0, 1} + }, + [SOUTH] = { + {0, 0, 0}, + {0, 1, 1}, + {1, 1, 0} + }, + [WEST] = { + {1, 0, 0}, + {1, 1, 0}, + {0, 1, 0} + } + } + }, + [T] = { + .size = 3, + .color = PURPLE, + .directions = { + [NORTH] = { + {0, 1, 0}, + {1, 1, 1}, + {0, 0, 0} + }, + [EAST] = { + {0, 1, 0}, + {0, 1, 1}, + {0, 1, 0} + }, + [SOUTH] = { + {0, 0, 0}, + {1, 1, 1}, + {0, 1, 0} + }, + [WEST] = { + {0, 1, 0}, + {1, 1, 0}, + {0, 1, 0} + } + } + }, + [Z] = { + .size = 3, + .color = RED, + .directions = { + [NORTH] = { + {1, 1, 0}, + {0, 1, 1}, + {0, 0, 0} + }, + [EAST] = { + {0, 0, 1}, + {0, 1, 1}, + {0, 1, 0} + }, + [SOUTH] = { + {0, 0, 0}, + {1, 1, 0}, + {0, 1, 1} + }, + [WEST] = { + {0, 1, 0}, + {1, 1, 0}, + {1, 0, 0} + } + } + } +}; -- cgit 1.4.1-2-gfad0