📄 isdelete.java
字号:
import javax.swing.*;
import java.util.*;
public class IsDelete {
int x1,y1,x2,y2,row,column;
int[][]playAreaNumber;
boolean isDeleteCorner0,isDeleteCorner1,isDeleteCorner2;
IsDelete(int x1,int y1,int x2,int y2,int row,int column,int[][] playAreaNumber){
this.x1=x1;
this.y1=y1;
this.x2=x2;
this.y2=y2;
this.row=row;
this.column=column;
this.playAreaNumber=playAreaNumber;
int[][] largerPlayAreaNumber=new int[row+2][column+2];
for (int i=0;i<column+2;i++){
largerPlayAreaNumber[0][i]=0;
largerPlayAreaNumber[row+2-1][i]=0;
}
for (int i=0;i<row+2;i++){
largerPlayAreaNumber[i][0]=0;
largerPlayAreaNumber[i][column+2-1]=0;
}
for (int i=0;i<row;i++){
for (int j=0;j<column;j++){
largerPlayAreaNumber[i+1][j+1]=playAreaNumber[i][j];
}
}
isDeleteCorner0=(isDeleteCorner0(largerPlayAreaNumber,x1,y1,x2,y2));
isDeleteCorner1=(isDeleteCorner1(largerPlayAreaNumber,x1,y1,x2,y2));
isDeleteCorner2=(isDeleteCorner2(largerPlayAreaNumber,x1,y1,x2,y2));
}
public static boolean isDeleteCorner0(int[][]largerPlayAreaNumber,int x1,int y1,int x2,int y2){
boolean isDeleteCorner0=false;
if ((x1!=x2) && (y1!=y2)){
isDeleteCorner0=false;
}
if (x1==x2){
if (y1<y2){
boolean isOk=true;
for (int i=y1+1;i<y2;i++){
if (largerPlayAreaNumber[x1][i]!=0) isOk=false;
}
isDeleteCorner0=isOk;
}
if (y2<y1){
boolean isOk=true;
for (int i=y2+1;i<y1;i++){
if (largerPlayAreaNumber[x1][i]!=0) isOk=false;
}
isDeleteCorner0=isOk;
}
}
if (y1==y2){
if (x1<x2){
boolean isOk=true;
for (int i=x1+1;i<x2;i++){
if (largerPlayAreaNumber[i][y1]!=0) isOk=false;
}
isDeleteCorner0=isOk;
}
if (x2<x1){
boolean isOk=true;
for (int i=x2+1;i<x1;i++){
if (largerPlayAreaNumber[i][y1]!=0) isOk=false;
}
isDeleteCorner0=isOk;
}
}
return isDeleteCorner0;
}
public static boolean isDeleteCorner1(int[][]largerPlayAreaNumber,int x1,int y1,int x2,int y2){
int cornerx1=x1;
int cornery1=y2;
int cornerx2=x2;
int cornery2=y1;
boolean isDeleteBetweenCorner1=
((largerPlayAreaNumber[cornerx1][cornery1]==0)&&(isDeleteCorner0(largerPlayAreaNumber,cornerx1,cornery1,x1,y1))&&(isDeleteCorner0(largerPlayAreaNumber,cornerx1,cornery1,x2,y2)));
boolean isDeleteBetweencorner2=
((largerPlayAreaNumber[cornerx2][cornery2]==0)&&(isDeleteCorner0(largerPlayAreaNumber,cornerx2,cornery2,x1,y1))&&(isDeleteCorner0(largerPlayAreaNumber,cornerx2,cornery2,x2,y2)));
boolean isDeleteCorner1=(isDeleteBetweenCorner1) ||(isDeleteBetweencorner2);
return isDeleteCorner1;
}
public static boolean isDeleteCorner2(int[][]largerPlayAreaNumber,int x1,int y1,int x2,int y2){
boolean isDeleteCondition1=false;
for (int i=0;i<largerPlayAreaNumber.length;i++){
if ((i!=x2)&&(i!=x1)){
int cornerx1=i;
int cornery1=y1;
int cornerx2=i;
int cornery2=y2;
if ((largerPlayAreaNumber[cornerx1][cornery1]==0)&&(largerPlayAreaNumber[cornerx2][cornery2]==0)&&(isDeleteCorner0(largerPlayAreaNumber,cornerx1,cornery1,cornerx2,cornery2))&&(isDeleteCorner0(largerPlayAreaNumber,cornerx2,cornery2,x2,y2))&&(isDeleteCorner0(largerPlayAreaNumber,cornerx1,cornery1,x1,y1))){
isDeleteCondition1=true;
break;
}
}
}
boolean isDeleteCondition2=false;
for (int i=0;i<largerPlayAreaNumber[0].length;i++){
int cornerx1=x1;
int cornery1=i;
int cornerx2=x2;
int cornery2=i;
if((largerPlayAreaNumber[cornerx1][cornery1]==0)&&(largerPlayAreaNumber[cornerx2][cornery2]==0)&&(isDeleteCorner0(largerPlayAreaNumber,cornerx1,cornery1,cornerx2,cornery2))&&(isDeleteCorner0(largerPlayAreaNumber,cornerx2,cornery2,x2,y2))&&(isDeleteCorner0(largerPlayAreaNumber,cornerx1,cornery1,x1,y1))){
isDeleteCondition2=true;
}
}
boolean isDeleteCorner2=((isDeleteCondition1) || (isDeleteCondition2));
return isDeleteCorner2;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -