📄 square.java
字号:
/*程序:Square.java
*说明:方块组数据类,包含方块组数组数据、方块组旋转方式
* 所有方块组以Square为基础类派生各类,其中各方块组
* 类型旋转还分二个方向及4个方向。
*/
//所有方块组类型的基础类
public class Square{
//方块组数据
public int BRICK_ARRAY[][][];//纪录方块组数据数组
public Square(){
//建立纪录方块组的数组并将数据清空
BRICK_ARRAY=new int[4][5][5];
for(int i=0;i<4;i++){
for(int j=0;j<5;j++){
for(int k=0;k<5;k++){
BRICK_ARRAY[i][j][k]=0;
}
}
}
}
//旋转方块组(顺时针旋转_只适用4个方向都不同的方块组)
protected void turnBrick_Four(){
for(int i=1;i<=3;i++){
for(int x=0;x<=4;x++){
for(int y=0;y<=4;y++){
BRICK_ARRAY[i][x][y]=BRICK_ARRAY[i-1][4-y][x];
}
}
}
}
//旋转方块组(顺时针旋转_只适用两个方向的方块组)
protected void turnBrick_Two(){
int COUNT=0;
for(int i=1;i<=3;i++){
for(int x=0;x<=4;x++){
for(int y=0;y<=4;y++){
if(i%2==0){
BRICK_ARRAY[i][x][y]=BRICK_ARRAY[i-1][4-y][x];
}else{
BRICK_ARRAY[i][x][y]=BRICK_ARRAY[i-1][y][4-x];
}
}
}
}
}
//设定方块组数据
private void setBrickArray(){}
}
//方块组类_田字型
class K_Square extends Square{
public K_Square(){
super();
setBrickArray();//设定方块组数据
}
//设定方块组数据
private void setBrickArray(){
for(int i=0;i<=3;i++){
BRICK_ARRAY[i][3][1]=1;//田字型
BRICK_ARRAY[i][3][2]=1;
BRICK_ARRAY[i][2][1]=1;
BRICK_ARRAY[i][2][2]=1;
}
}
}
//方块组类_倒T型
class T_Square extends Square{
public T_Square(){
super();
setBrickArray();//设定方块组数据
turnBrick_Four();//旋转方块组
}
//设定方块组数据
private void setBrickArray(){
BRICK_ARRAY[0][2][1]=1;//倒T型
BRICK_ARRAY[0][1][2]=1;
BRICK_ARRAY[0][2][2]=1;
BRICK_ARRAY[0][3][2]=1;
}
}
//方块组类_L型
class L_Square extends Square{
public L_Square(){
super();
setBrickArray();//设定方块组数据
turnBrick_Four();//旋转方块组
}
//设定方块组数据
private void setBrickArray(){
BRICK_ARRAY[0][1][1]=1;//L型
BRICK_ARRAY[0][1][2]=1;
BRICK_ARRAY[0][2][2]=1;
BRICK_ARRAY[0][3][2]=1;
}
}
//方块组类_倒L型
class FL_Square extends Square{
public FL_Square(){
super();
setBrickArray();//设定方块组数据
turnBrick_Four();//旋转方块组
}
//设定方块组数据
private void setBrickArray(){
BRICK_ARRAY[0][3][1]=1;//倒L型
BRICK_ARRAY[0][1][2]=1;
BRICK_ARRAY[0][2][2]=1;
BRICK_ARRAY[0][3][2]=1;
}
}
//方块组类_一字型
class Y_Square extends Square{
public Y_Square(){
super();
setBrickArray();//设定方块组数据
turnBrick_Two();//旋转方块组
}
//设定方块组数据
private void setBrickArray(){
BRICK_ARRAY[0][1][2]=1;//一字型
BRICK_ARRAY[0][2][2]=1;
BRICK_ARRAY[0][3][2]=1;
BRICK_ARRAY[0][4][2]=1;
}
}
//方块组类_Z型
class Z_Square extends Square{
public Z_Square(){
super();
setBrickArray();//设定方块组数据
turnBrick_Two();//旋转方块组
}
//设定方块组数据
private void setBrickArray(){
BRICK_ARRAY[0][1][1]=1;//Z型
BRICK_ARRAY[0][2][1]=1;
BRICK_ARRAY[0][2][2]=1;
BRICK_ARRAY[0][3][2]=1;
}
}
//方块组类_倒Z型
class FZ_Square extends Square{
public FZ_Square(){
super();
setBrickArray();//设定方块组数据
turnBrick_Two();//旋转方块组
}
//设定方块组数据
private void setBrickArray(){
BRICK_ARRAY[0][2][1]=1;//倒Z型
BRICK_ARRAY[0][3][1]=1;
BRICK_ARRAY[0][1][2]=1;
BRICK_ARRAY[0][2][2]=1;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -