uj5u.com熱心網友回復:
之前自己撰寫俄羅斯方塊的時候,加入3星和5星的圖案,為了簡單就把5星圖案的尺寸限制在4x4之內了,這樣每個圖案只有16個點,可以用uint16_t來表示。之后遍歷從0xFFFF到0x0FFF的所有圖案排除星數不對的圖案,排除分裂為超過1塊的圖案,排除重復,并且僅僅保留擠在左下角的圖案,得到完整且不重復的圖形集合,編碼方式采用左下角為0xF000,右下角為0x1000,左上角為0x000F,右上角為0x0001,依此類推的方式,每行是同一圖形旋轉時的4個方向,沒弄明白的可根據下圖自行推測:
我把那個篩選演算法推廣到6星和7星(仍然限制為4x4),所有的結果如下:
3星 2個
0xE000, 0x8880, 0xE000, 0x8880,
0xC800, 0x8C00, 0x4C00, 0xC400,
4星 7個
0xF000, 0x8888, 0xF000, 0x8888,
0xE800, 0x88C0, 0x2E00, 0xC440,
0xE400, 0x8C80, 0x4E00, 0x4C40,
0xE200, 0xC880, 0x8E00, 0x44C0,
0xCC00, 0xCC00, 0xCC00, 0xCC00,
0xC600, 0x4C80, 0xC600, 0x4C80,
0x8C40, 0x6C00, 0x8C40, 0x6C00,
5星 17個
0xF800, 0x888C, 0x1F00, 0xC444,
0xF400, 0x88C8, 0x2F00, 0x4C44,
0xF200, 0x8C88, 0x4F00, 0x44C4,
0xF100, 0xC888, 0x8F00, 0x444C,
0xEC00, 0x8CC0, 0x6E00, 0xCC40,
0xEA00, 0xC8C0, 0xAE00, 0xC4C0,
0xE880, 0x88E0, 0x22E0, 0xE220,
0xE600, 0xCC80, 0xCE00, 0x4CC0,
0xE440, 0x8E80, 0x44E0, 0x2E20,
0xE300, 0x4C88, 0xC700, 0x44C8,
0xC640, 0x4E80, 0x4C60, 0x2E40,
0xC620, 0x6C80, 0x8C60, 0x26C0,
0xC460, 0x2E80, 0xC460, 0x2E80,
0x8E40, 0x46C0, 0x4E20, 0x6C40,
0x8E20, 0x64C0, 0x8E20, 0x64C0,
0x8C44, 0x7C00, 0x88C4, 0x3E00,
0x4E40, 0x4E40, 0x4E40, 0x4E40,
6星 50個
0xFC00, 0x88CC, 0x3F00, 0xCC44,
0xFA00, 0x8C8C, 0x5F00, 0xC4C4,
0xF900, 0xC88C, 0x9F00, 0xC44C,
0xF880, 0x888E, 0x11F0, 0xE222,
0xF600, 0x8CC8, 0x6F00, 0x4CC4,
0xF500, 0xC8C8, 0xAF00, 0x4C4C,
0xF440, 0x88E8, 0x22F0, 0x2E22,
0xF300, 0xCC88, 0xCF00, 0x44CC,
0xF220, 0x8E88, 0x44F0, 0x22E2,
0xF110, 0xE888, 0x88F0, 0x222E,
0xEE00, 0xCCC0, 0xEE00, 0xCCC0,
0xEC80, 0x8CE0, 0x26E0, 0xE620,
0xEC40, 0x8EC0, 0x46E0, 0x6E20,
0xEB00, 0x4C8C, 0xD700, 0xC4C8,
0xEA80, 0xC8E0, 0x2AE0, 0xE260,
0xEA20, 0xE8C0, 0x8AE0, 0x62E0,
0xE700, 0x4CC8, 0xE700, 0x4CC8,
0xE640, 0xCE80, 0x4CE0, 0x2E60,
0xE4C0, 0x8EA0, 0x64E0, 0xAE20,
0xE460, 0xAE80, 0xC4E0, 0x2EA0,
0xE444, 0x8F80, 0x444E, 0x1F10,
0xE320, 0x4E88, 0x4C70, 0x22E4,
0xE310, 0x6C88, 0x8C70, 0x226C,
0xE230, 0x2E88, 0xC470, 0x22E8,
0xCE40, 0x4EC0, 0x4E60, 0x6E40,
0xCE20, 0x6CC0, 0x8E60, 0x66C0,
0xCC60, 0x2EC0, 0xC660, 0x6E80,
0xC8C4, 0xBE00, 0x8C4C, 0x7D00,
0xC740, 0x44E8, 0x2E30, 0x2E44,
0xC720, 0x46C8, 0x4E30, 0x26C4,
0xC710, 0x64C8, 0x8E30, 0x264C,
0xC6C0, 0x4EA0, 0x6C60, 0xAE40,
0xC644, 0x4F80, 0x44C6, 0x1F20,
0xC630, 0x26C8, 0xC630, 0x26C8,
0xC622, 0x7C80, 0x88C6, 0x13E0,
0xC464, 0x2F80, 0x4C46, 0x1F40,
0xC462, 0x3E80, 0x8C46, 0x17C0,
0xC446, 0x1F80, 0xC446, 0x1F80,
0x8F40, 0x446C, 0x2F10, 0x6C44,
0x8F20, 0x464C, 0x4F10, 0x64C4,
0x8F10, 0x644C, 0x8F10, 0x644C,
0x8E44, 0x47C0, 0x44E2, 0x3E20,
0x8E22, 0x74C0, 0x88E2, 0x32E0,
0x8CC4, 0x7E00, 0x8CC4, 0x7E00,
0x8C64, 0x27C0, 0x4C62, 0x3E40,
0x8C62, 0x36C0, 0x8C62, 0x36C0,
0x88E4, 0x23E0, 0x4E22, 0x7C40,
0x4F40, 0x44E4, 0x2F20, 0x4E44,
0x4F20, 0x46C4, 0x4F20, 0x46C4,
0x4C64, 0x2F40, 0x4C64, 0x2F40,
7星 120個
0xFE00, 0x8CCC, 0x7F00, 0xCCC4,
0xFD00, 0xC8CC, 0xBF00, 0xCC4C,
0xFC80, 0x88CE, 0x13F0, 0xE622,
0xFC40, 0x88EC, 0x23F0, 0x6E22,
0xFB00, 0xCC8C, 0xDF00, 0xC4CC,
0xFA80, 0x8C8E, 0x15F0, 0xE262,
0xFA20, 0x8E8C, 0x45F0, 0x62E2,
0xF980, 0xC88E, 0x19F0, 0xE226,
0xF910, 0xE88C, 0x89F0, 0x622E,
0xF8C0, 0x88AE, 0x31F0, 0xEA22,
0xF888, 0x888F, 0x111F, 0xF111,
0xF700, 0xCCC8, 0xEF00, 0x4CCC,
0xF640, 0x8CE8, 0x26F0, 0x2E62,
0xF620, 0x8EC8, 0x46F0, 0x26E2,
0xF540, 0xC8E8, 0x2AF0, 0x2E26,
0xF510, 0xE8C8, 0x8AF0, 0x262E,
0xF4C0, 0x88EA, 0x32F0, 0xAE22,
0xF460, 0x8AE8, 0x62F0, 0x2EA2,
0xF444, 0x88F8, 0x222F, 0x1F11,
0xF320, 0xCE88, 0x4CF0, 0x22E6,
0xF310, 0xEC88, 0x8CF0, 0x226E,
0xF260, 0x8EA8, 0x64F0, 0x2AE2,
0xF230, 0xAE88, 0xC4F0, 0x22EA,
0xF222, 0x8F88, 0x444F, 0x11F1,
0xF130, 0xEA88, 0xC8F0, 0x22AE,
0xEE80, 0xCCE0, 0x2EE0, 0xE660,
0xEE40, 0xCEC0, 0x4EE0, 0x6E60,
0xEE20, 0xECC0, 0x8EE0, 0x66E0,
0xEC60, 0xAEC0, 0xC6E0, 0x6EA0,
0xEC44, 0x8FC0, 0x446E, 0x3F10,
0xEB80, 0x4C8E, 0x1D70, 0xE264,
0xEB20, 0x4E8C, 0x4D70, 0x62E4,
0xEB10, 0x6C8C, 0x8D70, 0x626C,
0xEAC0, 0xCAE0, 0x6AE0, 0xEA60,
0xEAA0, 0xE8E0, 0xAAE0, 0xE2E0,
0xEA30, 0x2E8C, 0xC570, 0x62E8,
0xE8C4, 0x8BE0, 0x462E, 0x7D10,
0xE740, 0x4CE8, 0x2E70, 0x2E64,
0xE720, 0x4EC8, 0x4E70, 0x26E4,
0xE710, 0x6CC8, 0x8E70, 0x266C,
0xE6C0, 0xCEA0, 0x6CE0, 0xAE60,
0xE644, 0xCF80, 0x44CE, 0x1F30,
0xE630, 0x2EC8, 0xC670, 0x26E8,
0xE4E0, 0xAEA0, 0xE4E0, 0xAEA0,
0xE4C8, 0x8EB0, 0x264E, 0xD710,
0xE4C4, 0x8FA0, 0x464E, 0x5F10,
0xE470, 0x2AE8, 0xE270, 0x2EA8,
0xE464, 0xAF80, 0x4C4E, 0x1F50,
0xE462, 0xBE80, 0x8C4E, 0x17D0,
0xE44C, 0x8F90, 0x644E, 0x9F10,
0xE446, 0x9F80, 0xC44E, 0x1F90,
0xE360, 0x4EA8, 0x6C70, 0x2AE4,
0xE330, 0x6E88, 0xCC70, 0x22EC,
0xE322, 0x4F88, 0x44C7, 0x11F2,
0xE311, 0x7C88, 0x88C7, 0x113E,
0xE232, 0x2F88, 0x4C47, 0x11F4,
0xE231, 0x3E88, 0x8C47, 0x117C,
0xE223, 0x1F88, 0xC447, 0x11F8,
0xD740, 0xC4E8, 0x2EB0, 0x2E46,
0xD720, 0xC6C8, 0x4EB0, 0x26C6,
0xCF40, 0x44EC, 0x2F30, 0x6E44,
0xCF20, 0x46CC, 0x4F30, 0x66C4,
0xCF10, 0x64CC, 0x8F30, 0x664C,
0xCE60, 0x6EC0, 0xCE60, 0x6EC0,
0xCE44, 0x4FC0, 0x44E6, 0x3F20,
0xCE30, 0x26CC, 0xC730, 0x66C8,
0xCE22, 0x7CC0, 0x88E6, 0x33E0,
0xCC64, 0x2FC0, 0x4C66, 0x3F40,
0xCC62, 0x3EC0, 0x8C66, 0x37C0,
0xCC46, 0x1FC0, 0xC466, 0x3F80,
0xC8E4, 0x2BE0, 0x4E26, 0x7D40,
0xC8E2, 0x3AE0, 0x8E26, 0x75C0,
0xC8C6, 0x1BE0, 0xC626, 0x7D80,
0xC7C0, 0x44EA, 0x3E30, 0xAE44,
0xC760, 0x46E8, 0x6E30, 0x2EC4,
0xC750, 0x64E8, 0xAE30, 0x2E4C,
0xC744, 0x44F8, 0x22E3, 0x1F22,
0xC722, 0x47C8, 0x44E3, 0x13E2,
0xC711, 0x74C8, 0x88E3, 0x132E,
0xC6C4, 0x4FA0, 0x46C6, 0x5F20,
0xC664, 0x6F80, 0x4CC6, 0x1F60,
0xC662, 0x7E80, 0x8CC6, 0x17E0,
0xC64C, 0x4F90, 0x64C6, 0x9F20,
0xC646, 0x5F80, 0xC4C6, 0x1FA0,
0xC632, 0x27C8, 0x4C63, 0x13E4,
0xC631, 0x36C8, 0x8C63, 0x136C,
0xC623, 0x17C8, 0xC463, 0x13E8,
0xC4E4, 0x2FA0, 0x4E46, 0x5F40,
0xC4E2, 0x3EA0, 0x8E46, 0x57C0,
0xC474, 0x22F8, 0x2E23, 0x1F44,
0xC472, 0x23E8, 0x4E23, 0x17C4,
0xC471, 0x32E8, 0x8E23, 0x174C,
0xC46C, 0x2F90, 0x6C46, 0x9F40,
0xBE40, 0x8C6C, 0x27D0, 0x6C62,
0xBE20, 0x8E4C, 0x47D0, 0x64E2,
0xAF40, 0x4C6C, 0x2F50, 0x6C64,
0xAF20, 0x4E4C, 0x4F50, 0x64E4,
0xAF10, 0x6C4C, 0x8F50, 0x646C,
0x8F60, 0x466C, 0x6F10, 0x6CC4,
0x8F44, 0x447C, 0x22F1, 0x3E22,
0x8F22, 0x474C, 0x44F1, 0x32E2,
0x8F11, 0x744C, 0x88F1, 0x322E,
0x8EC4, 0x47E0, 0x46E2, 0x7E20,
0x8EA2, 0x74E0, 0x8AE2, 0x72E0,
0x8E64, 0x67C0, 0x4CE2, 0x3E60,
0x8E62, 0x76C0, 0x8CE2, 0x36E0,
0x8E32, 0x274C, 0x4C71, 0x32E4,
0x8E31, 0x364C, 0x8C71, 0x326C,
0x8CE4, 0x27E0, 0x4E62, 0x7E40,
0x8C74, 0x227C, 0x2E31, 0x3E44,
0x8C72, 0x236C, 0x4E31, 0x36C4,
0x8AE4, 0x63E0, 0x4EA2, 0x7C60,
0x88F4, 0x223E, 0x2F11, 0x7C44,
0x88F2, 0x232E, 0x4F11, 0x74C4,
0x6F40, 0x4CE4, 0x2F60, 0x4E64,
0x6F20, 0x4EC4, 0x4F60, 0x46E4,
0x4F44, 0x44F4, 0x22F2, 0x2F22,
0x4F22, 0x47C4, 0x44F2, 0x23E2,
0x4E32, 0x27C4, 0x4C72, 0x23E4,
0x4C74, 0x22F4, 0x2E32, 0x2F44,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/47437.html
標籤:其它游戲引擎
上一篇:HLSL寫的Compute Shader處理簡單貼圖時產生的問題
下一篇:Unity結合Kinect
