作业帮 > 综合 > 作业

这个是俄罗斯方块中的j源代码,用来表示方块的个种形态的,但这是如何表示的,这些十六进制的数是什么意

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/05/21 08:29:02
这个是俄罗斯方块中的j源代码,用来表示方块的个种形态的,但这是如何表示的,这些十六进制的数是什么意
这个是俄罗斯方块中的java源代码,用来表示方块的个种形态的,
但这是如何表示的,
这些十六进制的数是什么意思?是怎样来体现方块的?
public final static int[][] STYLES = {// 共28种状态
{0x0f00,0x4444,0x0f00,0x4444},// 长条型的四种状态
{0x04e0,0x0464,0x00e4,0x04c4},// 'T'型的四种状态
{0x4620,0x6c00,0x4620,0x6c00},// 反'Z'型的四种状态
{0x2640,0xc600,0x2640,0xc600},// 'Z'型的四种状态
{0x6220,0x1700,0x2230,0x0740},// '7'型的四种状态
{0x6440,0x0e20,0x44c0,0x8e00},// 反'7'型的四种状态
{0x0660,0x0660,0x0660,0x0660},// 方块的四种状态
};
其实就是点阵图
一个0x0000的4位16进制数换算成2进制有16位,理解为一个4*4的矩阵
0000
0000
0000
0000
拿长条形的四种状态举例
0x0f00 把4位16进制数按每位换算成一行4位2进制数的结果矩阵是
0000
1111
0000
0000
相应的0x4444是
0100
0100
0100
0100
将0看作空的,1看作方块的块,就可以看出正好是长条形在4*4空间中的横竖切换(长条形虽然有四种朝向但其实是两两重复的).
下面的以此类推,比如T型的第一种形态0x04e0就是
0000
0100
1110
0000