My ELEC2645 joystick project Tetris Game NAME: JIANWEI CHEN SID: 200879849

Dependencies:   N5110 SDFileSystem mbed

Revision:
0:12a1972fa0d0
Child:
1:2a758565f691
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Patterns.cpp	Sun Apr 17 12:13:34 2016 +0000
@@ -0,0 +1,240 @@
+#include "Patterns.h"
+    // type rotation y x
+int pattern[7][4][6][6] = {
+    {
+        //L
+        {
+            {1,1,0,0,0,0},
+            {1,1,0,0,0,0},
+            {1,1,0,0,0,0},
+            {1,1,0,0,0,0},
+            {1,1,1,1,0,0},
+            {1,1,1,1,0,0}
+        }, {
+            {0,0,0,0,0,0},
+            {0,0,0,0,0,0},
+            {0,0,0,0,1,1},
+            {0,0,0,0,1,1},
+            {1,1,1,1,1,1},
+            {1,1,1,1,1,1}
+        }, {
+            {0,0,1,1,1,1},
+            {0,0,1,1,1,1},
+            {0,0,0,0,1,1},
+            {0,0,0,0,1,1},
+            {0,0,0,0,1,1},
+            {0,0,0,0,1,1}
+        }, {
+            {1,1,1,1,1,1},
+            {1,1,1,1,1,1},
+            {1,1,0,0,0,0},
+            {1,1,0,0,0,0},
+            {0,0,0,0,0,0},
+            {0,0,0,0,0,0}
+        }
+    },
+
+    {
+        //L mirrored
+        {
+            {0,0,0,0,1,1},
+            {0,0,0,0,1,1},
+            {0,0,0,0,1,1},
+            {0,0,0,0,1,1},
+            {0,0,1,1,1,1},
+            {0,0,1,1,1,1}
+        }, {
+            {1,1,1,1,1,1},
+            {1,1,1,1,1,1},
+            {0,0,0,0,1,1},
+            {0,0,0,0,1,1},
+            {0,0,0,0,0,0},
+            {0,0,0,0,0,0}
+        }, {
+            {1,1,1,1,0,0},
+            {1,1,1,1,0,0},
+            {1,1,0,0,0,0},
+            {1,1,0,0,0,0},
+            {1,1,0,0,0,0},
+            {1,1,0,0,0,0}
+        }, {
+            {0,0,0,0,0,0},
+            {0,0,0,0,0,0},
+            {1,1,0,0,0,0},
+            {1,1,0,0,0,0},
+            {1,1,1,1,1,1},
+            {1,1,1,1,1,1}
+        }
+    },
+    
+     {
+        //I
+        {
+            {0,0,0,0,0,0},
+            {0,0,0,0,0,0},
+            {1,1,1,1,1,1},
+            {1,1,1,1,1,1},
+            {0,0,0,0,0,0},
+            {0,0,0,0,0,0}
+        }, {
+            {0,0,1,1,0,0},
+            {0,0,1,1,0,0},
+            {0,0,1,1,0,0},
+            {0,0,1,1,0,0},
+            {0,0,1,1,0,0},
+            {0,0,1,1,0,0}
+        }, {
+            {0,0,0,0,0,0},
+            {0,0,0,0,0,0},
+            {1,1,1,1,1,1},
+            {1,1,1,1,1,1},
+            {0,0,0,0,0,0},
+            {0,0,0,0,0,0}
+        }, {
+            {0,0,1,1,0,0},
+            {0,0,1,1,0,0},
+            {0,0,1,1,0,0},
+            {0,0,1,1,0,0},
+            {0,0,1,1,0,0},
+            {0,0,1,1,0,0}
+        }
+    },
+    
+    {
+        //T
+        {
+            {0,0,0,0,0,0},
+            {0,0,0,0,0,0},
+            {0,0,1,1,0,0},
+            {0,0,1,1,0,0},
+            {1,1,1,1,1,1},
+            {1,1,1,1,1,1}
+        }, {
+            {0,0,0,0,1,1},
+            {0,0,0,0,1,1},
+            {0,0,1,1,1,1},
+            {0,0,1,1,1,1},
+            {0,0,0,0,1,1},
+            {0,0,0,0,1,1}
+        }, {
+            {1,1,1,1,1,1},
+            {1,1,1,1,1,1},
+            {0,0,1,1,0,0},
+            {0,0,1,1,0,0},
+            {0,0,0,0,0,0},
+            {0,0,0,0,0,0}
+        }, {
+            {1,1,0,0,0,0},
+            {1,1,0,0,0,0},
+            {1,1,1,1,0,0},
+            {1,1,1,1,0,0},
+            {1,1,0,0,0,0},
+            {1,1,0,0,0,0}
+        }
+    },
+    
+    {
+        //square
+        {
+            {1,1,1,1,0,0},
+            {1,1,1,1,0,0},
+            {1,1,1,1,0,0},
+            {1,1,1,1,0,0},
+            {0,0,0,0,0,0},
+            {0,0,0,0,0,0}
+        }, {
+            {1,1,1,1,0,0},
+            {1,1,1,1,0,0},
+            {1,1,1,1,0,0},
+            {1,1,1,1,0,0},
+            {0,0,0,0,0,0},
+            {0,0,0,0,0,0}
+        }, {
+            {1,1,1,1,0,0},
+            {1,1,1,1,0,0},
+            {1,1,1,1,0,0},
+            {1,1,1,1,0,0},
+            {0,0,0,0,0,0},
+            {0,0,0,0,0,0}
+        }, {
+            {1,1,1,1,0,0},
+            {1,1,1,1,0,0},
+            {1,1,1,1,0,0},
+            {1,1,1,1,0,0},
+            {0,0,0,0,0,0},
+            {0,0,0,0,0,0}
+        }
+    },
+    
+    {
+        //N
+        {
+            {1,1,0,0,0,0},
+            {1,1,0,0,0,0},
+            {1,1,1,1,0,0},
+            {1,1,1,1,0,0},
+            {0,0,1,1,0,0},
+            {0,0,1,1,0,0}
+        }, {
+            {0,0,0,0,0,0},
+            {0,0,0,0,0,0},
+            {0,0,1,1,1,1},
+            {0,0,1,1,1,1},
+            {1,1,1,1,0,0},
+            {1,1,1,1,0,0}
+        }, {
+            {0,0,1,1,0,0},
+            {0,0,1,1,0,0},
+            {0,0,1,1,1,1},
+            {0,0,1,1,1,1},
+            {0,0,0,0,1,1},
+            {0,0,0,0,1,1}
+        }, {
+            {0,0,1,1,1,1},
+            {0,0,1,1,1,1},
+            {1,1,1,1,0,0},
+            {1,1,1,1,0,0},
+            {0,0,0,0,0,0},
+            {0,0,0,0,0,0}
+        }
+    },
+    
+    {
+        //N mirrored
+        {
+            {0,0,1,1,0,0},
+            {0,0,1,1,0,0},
+            {1,1,1,1,0,0},
+            {1,1,1,1,0,0},
+            {1,1,0,0,0,0},
+            {1,1,0,0,0,0}
+        }, {
+            {0,0,0,0,0,0},
+            {0,0,0,0,0,0},
+            {1,1,1,1,0,0},
+            {1,1,1,1,0,0},
+            {0,0,1,1,1,1},
+            {0,0,1,1,1,1}
+        }, {
+            {0,0,0,0,1,1},
+            {0,0,0,0,1,1},
+            {0,0,1,1,1,1},
+            {0,0,1,1,1,1},
+            {0,0,1,1,0,0},
+            {0,0,1,1,0,0}
+        }, {
+            {1,1,1,1,0,0},
+            {1,1,1,1,0,0},
+            {0,0,1,1,1,1},
+            {0,0,1,1,1,1},
+            {0,0,0,0,0,0},
+            {0,0,0,0,0,0}
+        }
+    }
+
+};
+
+int Patterns::getPatterns(int type, int rotation, int y, int x)
+{
+    return pattern[type][rotation][y][x];
+}