⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lianliankan.java

📁 JAVA连连看游戏源程序
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
      } 
   } 
 } 

  /* 这是整个游戏最重要的部分,就是判断两个按钮在信息 
     相同的情况下能不能消去。
  */
 public void xiao()  
 {  
 int i=0, j=0,n=0,k=0; 
  //考虑相邻的情况
 if((x0==x &&(y0==y+1||y0==y-1)) || ((x0==x+1||x0==x-1)&&(y0==y)))  
 { 
  p2.setVisible(false); 
  p1.setVisible(false); 
  s="no"; 
  d[x0][y0]=0; 
  d[x][y]=0; 
  } 
  //考虑不相邻的情况
 else 
 { 
    //两个按钮按行分析,看能否消去 
   for (j=0;j<7;j++ ) 
   { 
     if (d[x0][j]==0) 
       { 
         if (y>j) 
           { 
             for (i=y-1;i>=j;i-- ) 
               { 
                 if (d[x][i]!=0) 
                    { 
                      k=0; 
                      break; 
                    } 
                 else 
                    { 
                      k=1; 
                    } 
               } 
             if (k==1) 
               { 
                 if (y0>j) 
                    { 
                      for (i=y0-1;i>=j ;i-- ) 
                         { 
                           if (d[x0][i]!=0) 
                              { 
                                k=0; 
                                break; 
                              } 
                           else 
                              { 
                                 k=2; 
                              } 
                         } 
                    } 
                 if (y0<j) 
                    { 
                      for (i=y0+1;i<=j ;i++) 
                         { 
                           if (d[x0][i]!=0) 
                              { 
                                 k=0; 
                                 break; 
                              } 
                           else 
                              { 
                                  k=2; 
                              } 
                         } 
                    } 
               } 
           } 
         if (y<j) 
          { 
           for (i=y+1;i<=j ;i++ ) 
            { 
             if (d[x][i]!=0) 
              { 
                k=0; 
                break; 
              } 
             else 
              { 
                k=1; 
              } 
            } 
            if (k==1) 
             { 
              if (y0>j) 
               { 
                for (i=y0-1;i>=j ;i-- ) 
                 { 
                  if (d[x0][i]!=0) 
                    { 
                      k=0; 
                      break; 
                    } 
                   else 
                    { 
                      k=2; 
                    } 
                 } 
               } 
             if (y0<j) 
              { 
               for (i=y0+1;i<=j ;i++) 
                 { 
                  if (d[x0][i]!=0) 
                    { 
                      k=0; 
                      break; 
                    } 
                  else 
                    { 
                      k=2; 
                    } 
                 } 
              } 
             } 
          } 
         if (y==j ) 
          { 
           if (y0>j) 
            { 
             for (i=y0-1;i>=j ;i-- ) 
               { 
                if (d[x0][i]!=0) 
                 { 
                   k=0; 
                   break; 
                 } 
                else 
                 { 
                   k=2; 
                 } 
               } 
            } 
           if (y0<j) 
            { 
             for (i=y0+1;i<=j ;i++) 
              { 
               if (d[x0][i]!=0) 
                { 
                  k=0; 
                  break; 
                } 
               else 
                { 
                  k=2; 
                } 
              } 
            } 
          } 
        } 
     if (k==2) 
       { 
        if (x0==x) 
          { 
            p1.setVisible(false); 
            p2.setVisible(false); 
            s="no"; 
            k=0; 
            d[x0][y0]=0; 
            d[x][y]=0; 
          } 
        if (x0<x) 
          { 
           for (n=x0;n<=x-1;n++ ) 
             { 
              if (d[n][j]!=0) 
                { 
                  k=0; 
                  break; 
                } 
              if(d[n][j]==0 && n==x-1) 
                { 
                  p1.setVisible(false); 
                  p2.setVisible(false); 
                  s="no"; 
                  k=0; 
                  d[x0][y0]=0; 
                  d[x][y]=0; 
                } 
             } 
          } 
        if (x0>x) 
          { 
           for (n=x0;n>=x+1 ;n-- ) 
             { 
              if (d[n][j]!=0) 
                { 
                  k=0; 
                  break; 
                } 
              if (d[n][j]==0 && n==x+1) 
                { 
                  p1.setVisible(false); 
                  p2.setVisible(false); 
                  s="no"; 
                  k=0; 
                  d[x0][y0]=0; 
                  d[x][y]=0; 
                } 
             } 
          } 
       } 
   } //按行分析 end
   
   //按列分析,看能不能消去 
   for (i=0;i<8;i++ ) 
   { 
    if (d[i][y0]==0) 
     { 
      if (x>i) 
        { 
         for (j=x-1;j>=i ;j-- ) 
           { 
            if (d[j][y]!=0) 
              { 
                k=0; 
                break; 
              } 
            else 
              { 
                k=1; 
              } 
           } 
         if (k==1) 
           { 
            if (x0>i) 
              { 
               for (j=x0-1;j>=i ;j-- ) 
                { 
                  if (d[j][y0]!=0) 
                    { 
                      k=0; 
                      break; 
                    } 
                  else 
                    { 
                      k=2; 
                    } 
                 } 
              } 
            if (x0<i) 
              { 
               for (j=x0+1;j<=i;j++ ) 
                 { 
                  if (d[j][y0]!=0) 
                    { 
                      k=0; 
                      break; 
                    } 
                  else 
                    { 
                      k=2; 
                    } 
                 } 
              } 
           } 
        } 
      if (x<i) 
        { 
         for (j=x+1;j<=i;j++ ) 
           { 
            if (d[j][y]!=0) 
              { 
                k=0; 
                break; 
              } 
            else 
              { 
                k=1; 
              } 
           } 
         if (k==1) 
           { 
            if (x0>i) 
              { 
               for (j=x0-1;j>=i ;j-- ) 
                 { 
                  if (d[j][y0]!=0) 
                    { 
                      k=0; 
                      break; 
                    } 
                  else 
                    { 
                      k=2; 
                    } 
                 } 
              } 
            if (x0<i) 
              { 
               for (j=x0+1;j<=i ;j++ ) 
                 { 
                  if (d[j][y0]!=0) 
                    { 
                      k=0; 
                      break; 
                    } 
                  else 
                    { 
                      k=2; 
                    } 
                 } 
              } 
           } 
        } 
      if (x==i) 
        { 
         if (x0>i) 
           { 
            for (j=x0-1;j>=i ;j-- ) 
              { 
               if (d[j][y0]!=0) 
                 { 
                   k=0; 
                   break; 
                 } 
               else 
                 { 
                   k=2; 
                 } 
              } 
           } 
         if (x0<i) 
           { 
            for (j=x0+1;j<=i ;j++ ) 
              { 
               if (d[j][y0]!=0) 
                 { 
                   k=0; 
                   break; 
                 } 
               else 
                 { 
                   k=2; 
                 } 
              } 
           } 
        } 
     } 
   if (k==2) 
     { 
      if (y0==y) 
        { 
          p1.setVisible(false); 
          p2.setVisible(false); 
          s="no"; 
          k=0; 
          d[x0][y0]=0; 
          d[x][y]=0; 
        } 
      if (y0<y) 
        { 
         for (n=y0;n<=y-1 ;n++ ) 
           { 
            if (d[i][n]!=0) 
              { 
                k=0; 
                break; 
              } 
            if (d[i][n]==0 && n==y-1) 
              { 
                p1.setVisible(false); 
                p2.setVisible(false); 
                s="no"; 
                k=0; 
                d[x0][y0]=0; 
                d[x][y]=0; 
               } 
           } 
        } 
      if (y0>y) 
        { 
         for (n=y0;n>=y+1 ;n--) 
           { 
            if (d[i][n]!=0) 
              { 
                k=0; 
                break; 
              } 
            if (d[i][n]==0 && n==y+1) 
              { 
                p1.setVisible(false); 
                p2.setVisible(false); 
                s="no"; 
                k=0; 
                d[x0][y0]=0; 
                d[x][y]=0; 
              } 
           } 
        } 
     } 
   }    //按列分析 end

  }   //考虑不相邻的情况 end
 } //  xiao() end
 
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -