summary refs log tree commit diff
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}
+            }
+        }
+    }
+};