public void click(int x, int y)//炸彈: 爆炸| 土地 0擴散 1~8不擴散
    {
        if(map[x][y])//炸彈
        {
            freshMessage("踩到地雷! 爆炸!");
            buttons[x][y].setBackground(Color.RED);
            gameOver = true;
            return ;
        }
        else
        if(aroundBombNum[x][y]!=0)
        {
            turn(x,y);
        }
        else
        {
            int[][] direct = {{-1,0},{0,-1},{1,0},{0,1},{-1,-1},{1,1},{-1,1},{1,-1}};//上 左 下 右 左上 左下 右上 右下
            int[] queue_x = new int[mapHeight*mapWidth];
            int[] queue_y = new int[mapHeight*mapWidth];
            int pop = 0, push = 0;
            
            queue_x[push] = x;//填入第一個
            queue_y[push] = y;
            push++;
            
            while(pop < push)
            {
                int tx = queue_x[pop];
                int ty = queue_y[pop];
                
                //如果 此格是0就繼續擴散
                
                if(aroundBombNum[tx][ty]==0)
                for(int s=0; s<8; s++)
                {
                    int fx = tx+direct[s][0];
                    int fy = ty+direct[s][1];
                    boolean spread = false;
                    
                    if(inRange(fx,fy)&&!isTurned[fx][fy])
                    {
                            isTurned[fx][fy] = true;
                            queue_x[push] = fx;
                            queue_y[push] = fy;
                            push++;
                    }
                }
                    
                pop++;
                
                /*System.out.println("Pop"+pop);
                for(int i=0; i<push; i++)
                {
                    System.out.print(" "+"["+queue_x[i]+"]"+ "["+queue_y[i]+"]");
                }
                System.out.println();*/
            }
            
            for(int i=0; i<push; i++)
                turn(queue_x[i],queue_y[i]);
            
        }
    }