summaryrefslogtreecommitdiff
path: root/inc
diff options
context:
space:
mode:
authorturnipgod2025-03-01 19:59:26 -0500
committerturnipgod2025-03-01 19:59:26 -0500
commit3fcec49d18769801d548e8acda0ed82fabb6c221 (patch)
tree19b962968396b2ba55638e83972d87ce35941db3 /inc
parent5a8765cddc3fc328f3cb22606688dd1ccb2f2f22 (diff)
tetromino data
Diffstat (limited to 'inc')
-rw-r--r--inc/tetromino.h212
1 files changed, 212 insertions, 0 deletions
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}
+ }
+ }
+ }
+};