连连看java代码 连连看java代码里如何添加图片( 二 )


}
this.grid[cols][rows] = save[n];
n--;
}
mainFrame.setVisible(false);
pressInformation = false; // 这里一定要将按钮点击信息归为初始
init();
for (int i = 0; i6; i++) {
for (int j = 0; j5; j++) {
if (grid[i + 1][j + 1] == 0)
diamondsButton[i][j].setVisible(false);
}
}
}
public void estimateEven(int placeX, intplaceY, JButton bz) {
if (pressInformation == false) {
x = placeX;
y = placeY;
secondMsg = grid[x][y];
secondButton = bz;
pressInformation = true;
} else {
x0 = x;
y0 = y;
fristMsg = secondMsg;
firstButton = secondButton;
x = placeX;
y = placeY;
secondMsg = grid[x][y];
secondButton = bz;
if (fristMsg == secondMsg secondButton != firstButton) {
xiao();
}
}
}
public void xiao() { // 相同的情况下能不能消去 。仔细分析 , 不一条条注释
if ((x0 == x(y0 == y + 1 || y0 ==y - 1))
|| ((x0 == x + 1 || x0 == x - 1) (y0 == y))) { // 判断是否相邻
remove();
} else {
for (j = 0; j7; j++) {
if (grid[x0][j] == 0) { // 判断和第一个按钮同行的哪个按钮为空
//如果找到一个为空的,就按列值的三种情况比较第二个按钮与空按钮的位置
if (yj) {//第二个按钮在空按钮右边
for (i = y - 1; i = j; i--) { //检测从第二个按钮横向左边到空格所在列为止是否全是空格
if (grid[x][i] != 0) {
k = 0;
break;//存在非空格的就退出,这一退出就不可能k==2了,所以就会到下而215行出同理的判断列
} else {
k = 1;
} // K=1说明全是空格通过了第一次验证,也就是从第二个按钮横向左边到空格所在列为止全是空格
}
if (k == 1) {
linePassOne();//进入第二次验证,也就是从第一个按钮到它同行的空格之间的空格判断
}
}
if (yj) { // 第二个按钮在空按钮左边
for (i = y + 1; i = j; i++) {//检测从第二个按钮横向右边到空格所在列为止是否全是空格
if (grid[x][i] != 0) {
k = 0;
break;
} else {
k = 1;
}
}
if (k == 1) {
linePassOne();
}
}
if (y == j) {//第二个按钮和空按钮同列
linePassOne();
}
}
//第三次检测,检测确定为空的第j列的那个按钮竖向到第二个按钮,看是不是有按钮
if (k == 2) {
if (x0 == x) {//第一 , 二按钮在同行
remove();
}
if (x0x) {//第一按钮在第二按钮下边
for (n = x0; n = x - 1; n++) {//从空按钮竖向到第二个按钮所在行是否有按钮
if (grid[n][j] != 0) {
k= 0;
break;
}
//没有按钮,说明这条路经就通了
if (grid[n][j] == 0n == x -1) {
remove();
}
}
}
if (x0x) {//第一按钮在第二按钮上边
for (n = x0; n = x + 1; n--) {
if (grid[n][j] != 0) {
k = 0;
break;
}
if (grid[n][j] == 0n == x +1) {
remove();
}
}
}
}
}//-------------------------------------for
//当上面的检测与第一个按钮同行的空格按钮失败后(不能找到与第二个按钮的相连路经),下面就执行
//检测与第一个按钮同列的空格按钮
for (i = 0; i8; i++) {
if (grid[i][y0] == 0) {// 判断和第一个按钮同列的哪个按钮为空
if (xi) {//第二个按钮在这个空按钮的下面
for (j = x - 1; j = i; j--) {
if (grid[j][y] != 0) {
k = 0;
break;
} else {
k = 1;
}
}
if (k == 1) {
rowPassOne();
}
}
if (xi) {//第二个按钮在这个空按钮的上面
for (j = x + 1; j = i; j++) {
if (grid[j][y] != 0) {

推荐阅读