问题
在Tetris游戏中,游戏场地由10列×20行个正方形格子构成,如图所示,每个方块由四个格子组成,绘制在场地中,如图所示中的红色方块。
4个小型正方形格子组成的规则图形(Tetromino),共有7种,分别以S、Z、L、J、I、O、T这7个字母的形状来命名,各个图形形状如下图所示。
之前案例中定义的Cell类,表示游戏场地中的一个正方形格子,存储其在场地中的位置。本案例中会使用到Cell类,拷贝之前案例中的该类使用即可。本案例要求定义表示T型方块的类T和J型方块的类J。T型方块和J型方块的形状如上图所示中的黄色方块和紫色方块。
方案
要实现本案例要求的功能,解决方法如下:
1.定义名为T的类,由于每个方块有四个格子,因此,在T类中添加属性cells,cells属性的类型为Cell数组类型,即,Cell[]。这样,cells数组中就可以存储四个格子来表示一个方块。
2. 为T类添加构造方法。可以提供无参数构造方法,及按顺时针方向、方块中第一个格子的行和列作为参数的构造方法。
3.为了方便查看方块中四个