My ELEC2645 joystick project Tetris Game NAME: JIANWEI CHEN SID: 200879849
Dependencies: N5110 SDFileSystem mbed
Diff: Patterns.cpp
- Revision:
- 0:12a1972fa0d0
- Child:
- 1:2a758565f691
diff -r 000000000000 -r 12a1972fa0d0 Patterns.cpp --- /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]; +}