代码中主要包含三个部分:
1.因为俄罗斯方块所有的形状都是由4块组成,将其不同的形状的四块相对位置整合在一起用10进制的形式直接表达出来(共19中但是为方便逻辑正方形重复一个,因为有的翻转两次复原,有的翻转四次复原)然后将每次判断相对位置的函数写成Get宏(其中每次循环都右移四位,因为每个块的相对位置占4位)
2.进行移动操作(移动操作)主要是用来判断是否可以移动,如果可以移动那么就将锚点进行移动(X和Y的值进行变化)
3.主体部分(由两部分组成):第一部分:得到操作的符号,然后进行上一个所在位置的置0(更新,为了下边可以直接设置新的位置为1)置零后进行操作,其实就是改变X,Y和形状(T),如果没有给出操作,那么就会自动进行下降一个格子(给出操作也会),然后进行是否固定的判断,如果固定了就判断是否是满行可以消除,如果没有固定就直接可视化。
学习其他up主。bilibili地址:22行代码实现俄罗斯方块! 史上最简!【Cgame】_哔哩哔哩_bilibili