📄 108c5454ee61001c1933e602ece9d2a4
字号:
{
erase(i,j);
return true;
}
else
{
JOptionPane.showMessageDialog(FrameUI.mainFrame, "考虑两个拐点的情况");
System.out.println("情况三,纵向=1,横向>1,上横向!=null");
FrameUI.changeBtn = FrameUI.imageBtn[i][j];
FrameUI.row = i;
FrameUI.column = j;
FrameUI.statusLabel.setText("当前点坐标为:("+FrameUI.row+","+FrameUI.column+"), 位移为"+String.valueOf(FrameUI.row*17+FrameUI.column));
return false;
}
}
else if(location.equals("bottomLeftColumn3"))
{
for(k=i+1; k<FrameUI.row; k++)
{
if(FrameUI.imageBtn[k][j].getIcon() != null)
{
isEmpty = false;
break;
}
}
if(isEmpty)
{
erase(i,j);
return true;
}
else
{
JOptionPane.showMessageDialog(FrameUI.mainFrame, "考虑两个拐点的情况");
System.out.println("情况三,横向=1,纵向>1,左纵向!=null");
FrameUI.changeBtn = FrameUI.imageBtn[i][j];
FrameUI.row = i;
FrameUI.column = j;
FrameUI.statusLabel.setText("当前点坐标为:("+FrameUI.row+","+FrameUI.column+"), 位移为"+String.valueOf(FrameUI.row*17+FrameUI.column));
return false;
}
}
else if(location.equals("bottomLeftRow3"))
{
for(k=j+1; k<FrameUI.column; k++)
{
if(FrameUI.imageBtn[FrameUI.row][k].getIcon() != null)
{
isEmpty = false;
break;
}
}
if(isEmpty)
{
erase(i,j);
return true;
}
else
{
JOptionPane.showMessageDialog(FrameUI.mainFrame, "考虑两个拐点的情况");
System.out.println("情况三,横向>1,纵向=1,下横向!=null");
FrameUI.changeBtn = FrameUI.imageBtn[i][j];
FrameUI.row = i;
FrameUI.column = j;
FrameUI.statusLabel.setText("当前点坐标为:("+FrameUI.row+","+FrameUI.column+"), 位移为"+String.valueOf(FrameUI.row*17+FrameUI.column));
return false;
}
}
else if(location.equals("bottomRightRow4"))
{
for(k=j+1; k<FrameUI.column; k++)
{
if(FrameUI.imageBtn[i][k].getIcon() != null)
{
isEmpty = false;
break;
}
}
if(isEmpty)
{
erase(i,j);
return true;
}
else
{
JOptionPane.showMessageDialog(FrameUI.mainFrame, "考虑两个拐点的情况");
System.out.println("情况四,横向>1,纵向=1,下横向!=null");
FrameUI.changeBtn = FrameUI.imageBtn[i][j];
FrameUI.row = i;
FrameUI.column = j;
FrameUI.statusLabel.setText("当前点坐标为:("+FrameUI.row+","+FrameUI.column+"), 位移为"+String.valueOf(FrameUI.row*17+FrameUI.column));
return false;
}
}
else if(location.equals("bottomRightColumn4"))
{
for(k=FrameUI.row+1; k<i; k++)
{
if(FrameUI.imageBtn[k][FrameUI.column].getIcon() != null)
{
isEmpty = false;
break;
}
}
if(isEmpty)
{
erase(i,j);
return true;
}
else
{
JOptionPane.showMessageDialog(FrameUI.mainFrame, "考虑两个拐点的情况");
System.out.println("情况四,横向=1,纵向>1,右纵向!=null");
FrameUI.changeBtn = FrameUI.imageBtn[i][j];
FrameUI.row = i;
FrameUI.column = j;
FrameUI.statusLabel.setText("当前点坐标为:("+FrameUI.row+","+FrameUI.column+"), 位移为"+String.valueOf(FrameUI.row*17+FrameUI.column));
return false;
}
}
else if(location.equals("topLeftRow4"))
{
for(k=j+1; k<FrameUI.column; k++)
{
if(FrameUI.imageBtn[FrameUI.row][k].getIcon() != null)
{
isEmpty = false;
break;
}
}
if(isEmpty)
{
erase(i,j);
return true;
}
else
{
JOptionPane.showMessageDialog(FrameUI.mainFrame, "考虑两个拐点的情况");
System.out.println("情况四,横向>1,纵向=1,上横向!=null");
FrameUI.changeBtn = FrameUI.imageBtn[i][j];
FrameUI.row = i;
FrameUI.column = j;
FrameUI.statusLabel.setText("当前点坐标为:("+FrameUI.row+","+FrameUI.column+"), 位移为"+String.valueOf(FrameUI.row*17+FrameUI.column));
return false;
}
}
else if(location.equals("topLeftColumn4"))
{
for(k=FrameUI.row+1; k<i; k++)
{
if(FrameUI.imageBtn[k][j].getIcon() != null)
{
isEmpty = false;
break;
}
}
if(isEmpty)
{
erase(i,j);
return true;
}
else
{
JOptionPane.showMessageDialog(FrameUI.mainFrame, "考虑两个拐点的情况");
System.out.println("情况四,横向=1,纵向>1,左纵向!=null");
FrameUI.changeBtn = FrameUI.imageBtn[i][j];
FrameUI.row = i;
FrameUI.column = j;
FrameUI.statusLabel.setText("当前点坐标为:("+FrameUI.row+","+FrameUI.column+"), 位移为"+String.valueOf(FrameUI.row*17+FrameUI.column));
return false;
}
}
else
return false;
// if(isEmpty)
// {
// erase(i,j);
// return true;
// }
// else
// {
// JOptionPane.showMessageDialog(FrameUI.mainFrame, "考虑两个拐点的情况");
// FrameUI.changeBtn = FrameUI.imageBtn[i][j];
// FrameUI.row = i;
// FrameUI.column = j;
// FrameUI.statusLabel.setText("当前点坐标为:("+FrameUI.row+","+FrameUI.column+"), 位移为"+String.valueOf(FrameUI.row*17+FrameUI.column));
// return false;
// }
}
public void bottomLeftCornerErase1(int i, int j)
{
int k=0;
int n=0;
boolean isEmptyC = true;
boolean isEmptyR = true;
if(i==FrameUI.row+1 && j==FrameUI.column+1)
{
erase(i,j);
}
else if(i== FrameUI.row+1 && j>FrameUI.column+1)
{
oneWayNext(i,j,"bottomLeftRow1");
}
else if(j==FrameUI.column+1 && i>FrameUI.row+1)
{
oneWayNext(i,j,"bottomLeftColumn1");
}
else
{
for(k=FrameUI.row+1; k<i; k++)
{
if(FrameUI.imageBtn[k][FrameUI.column].getIcon()!=null)
{
isEmptyC = false;
break;
}
}
if(isEmptyC)
{
for(n=FrameUI.column+1; n<j; n++)
{
if(FrameUI.imageBtn[i][n].getIcon() != null)
{
isEmptyR = false;
break;
}
}
if(isEmptyR)
{
erase(i,j);
}
else
topRightCornerErase1(i,j);
}
else
topRightCornerErase1(i,j);
}
}
public boolean topRightCornerErase1(int i, int j)
{
int k=0;
int n=0;
boolean isEmptyR = true;
boolean isEmptyC = true;
if(j==FrameUI.column+1 && i==FrameUI.row+1)
{
erase(i,j);
return true;
}
else if(j==FrameUI.column+1 && i>FrameUI.row+1)
{
return oneWayNext(i,j,"topRightColumn1");
}
else if(i==FrameUI.row+1 && j>FrameUI.column+1)
{
return oneWayNext(i, j, "topRightRow1");
}
else
{
for(k=FrameUI.column+1;k<j;k++)
{
if(FrameUI.imageBtn[FrameUI.row][k].getIcon() != null)
{
isEmptyR = false;
break;
}
}
if(isEmptyR)
{
for(n=FrameUI.row+1; n<i; n++)
{
if(FrameUI.imageBtn[n][j].getIcon() != null)
{
isEmptyC = false;
break;
}
}
if(isEmptyC)
{
erase(i,j);
return true;
}
else
{
JOptionPane.showMessageDialog(FrameUI.mainFrame, "考虑两个拐点的情况");
System.out.println("情况一,距离均超过1,左下角交点有按钮,右上角纵线上有按钮");
FrameUI.changeBtn = FrameUI.imageBtn[i][j];
FrameUI.row = i;
FrameUI.column = j;
FrameUI.statusLabel.setText("当前点坐标为:("+FrameUI.row+","+FrameUI.column+"), 位移为"+String.valueOf(FrameUI.row*17+FrameUI.column));
return false;
}
}
else
{
JOptionPane.showMessageDialog(FrameUI.mainFrame, "考虑两个拐点的情况");
System.out.println("因为第一种情况下,距离均超过1,左下角交点有按钮,右上角横线上有按钮");
FrameUI.changeBtn = FrameUI.imageBtn[i][j];
FrameUI.row = i;
FrameUI.column = j;
FrameUI.statusLabel.setText("当前点坐标为:("+FrameUI.row+","+FrameUI.column+"), 位移为"+String.valueOf(FrameUI.row*17+FrameUI.column));
return false;
}
}
}
public boolean bottomRightCornerErase2(int i, int j)
{
int k=0;
int n=0;
boolean isEmptyR = true;
boolean isEmptyC = true;
if(j==FrameUI.column+1 && FrameUI.row == i+1)
{
erase(i,j);
return true;
}
else if(j==FrameUI.column+1 && FrameUI.row>i+1)
{
return oneWayNext(i,j,"bottomRightColumn2");
}
else if(FrameUI.row==i+1 && j>FrameUI.column+1)
{
return oneWayNext(i, j, "bottomRightRow2");
}
else
{
for(k=FrameUI.column+1; k<j; k++)
{
if(FrameUI.imageBtn[FrameUI.row][k].getIcon() != null)
{
isEmptyR = false;
break;
}
}
if(isEmptyR)
{
for(n=i+1; n<FrameUI.row; n++)
{
if(FrameUI.imageBtn[n][j].getIcon() != null)
{
isEmptyC = false;
break;
}
}
if(isEmptyC)
{
erase(i,j);
return true;
}
else
{
JOptionPane.showMessageDialog(FrameUI.mainFrame, "考虑两个拐点的情况");
System.out.println("情况二,距离均大于1,右纵线上有按钮");
FrameUI.changeBtn = FrameUI.imageBtn[i][j];
FrameUI.row = i;
FrameUI.column = j;
FrameUI.statusLabel.setText("当前点坐标为:("+FrameUI.row+","+FrameUI.column+"), 位移为"+String.valueOf(FrameUI.row*17+FrameUI.column));
return false;
}
}
else
{
JOptionPane.showMessageDialog(FrameUI.mainFrame, "考虑两个拐点的情况");
System.out.println("情况二,距离均大于1,下横线上有按钮");
FrameUI.changeBtn = FrameUI.imageBtn[i][j];
FrameUI.row = i;
FrameUI.column = j;
FrameUI.statusLabel.setText("当前点坐标为:("+FrameUI.row+","+FrameUI.column+"), 位移为"+String.valueOf(FrameUI.row*17+FrameUI.column));
return false;
}
}
}
public void topLeftCornerErase2(int i, int j)
{
int k=0;
int n=0;
boolean isEmptyC = true;
boolean isEmptyR = true;
if(j==FrameUI.column+1 && FrameUI.row == i+1)
{
erase(i,j);
//return true;
}
else if(j==FrameUI.column+1 && FrameUI.row>i+1)
{
oneWayNext(i,j,"topLeftColumn2");
}
else if(FrameUI.row==i+1 && j>FrameUI.column+1)
{
oneWayNext(i, j, "topLeftRow2");
}
else
{
for(k=FrameUI.column+1; k<j; k++)
{
if(FrameUI.imageBtn[i][k].getIcon() != null)
{
isEmptyR = false;
break;
}
}
if(isEmptyR)
{
for(n=i+1; n<FrameUI.row; n++)
{
if(FrameUI.imageBtn[n][FrameUI.column].getIcon() != null)
{
isEmptyC = false;
break;
}
}
if(isEmptyC)
{
erase(i,j);
// return true;
}
else
bottomRightCornerErase2(i,j);
}
else
bottomRightCornerErase2(i,j);
}
}
public boolean topRightCornerErase3(int i, int j)
{
int k=0;
int n=0;
boolean isEmptyR = true;
boolean isEmptyC = true;
if(FrameUI.column == j+1 && FrameUI.row == i+1)
{
erase(i,j);
return true;
}
else if(FrameUI.column==j+1 && FrameUI.row>i+1)
{
return oneWayNext(i,j,"topRightColumn3");
}
else if(FrameUI.row==i+1 && FrameUI.column>j+1)
{
return oneWayNext(i, j, "topRightRow3");
}
else
{
for(k=j+1;k<FrameUI.column;k++)
{
if(FrameUI.imageBtn[i][k].getIcon() != null)
{
isEmptyR = false;
break;
}
}
if(isEmptyR)
{
for(n=i+1; n<FrameUI.row; n++)
{
if(FrameUI.imageBtn[n][FrameUI.column].getIcon() != null)
{
isEmptyC = false;
break;
}
}
if(isEmptyC)
{
erase(i,j);
return true;
}
else
{
JOptionPane.showMessageDialog(FrameUI.mainFrame, "考虑两个拐点的情况");
System.out.println("情况三,距离均大于1,右纵线上有按钮");
FrameUI.changeBtn = FrameUI.imageBtn[i][j];
FrameUI.row = i;
FrameUI.column = j;
FrameUI.statusLabel.setText("当前点坐标为:("+FrameUI.row+","+FrameUI.column+"), 位移为"+String.valueOf(FrameUI.row*17+FrameUI.column));
return false;
}
}
else
{
JOptionPane.showMessageDialog(FrameUI.mainFrame, "考虑两个拐点的情况");
System.out.println("情况三,距离均大于1,上横线上有按钮");
FrameUI.changeBtn = FrameUI.imageBtn[i][j];
FrameUI.row = i;
FrameUI.column = j;
FrameUI.statusLabel.setText("当前点坐标为:("+FrameUI.row+","+FrameUI.column+"), 位移为"+String.valueOf(FrameUI.row*17+FrameUI.column));
return false;
}
}
}
public void bottomLeftCornerErase3(int i, int j)
{
int k=0;
int n=0;
boolean isEmptyC = true;
boolean isEmptyR = true;
if(FrameUI.row == i+1 && FrameUI.column==j+1)
{
erase(i,j);
// return true;
}
else if(FrameUI.row==i+1 && FrameUI.column>j+1)
{
oneWayNext(i,j,"bottomLeftRow3");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -