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

📄 buttongame.java

📁 BufferedReader主要实现的功能是: 数据的缓冲。外加一个按扭游戏。 所用的语言:Java.
💻 JAVA
字号:
/*计科S0241 陈新 按钮游戏*/
package mywork.window;
import java.awt.*;
import java.awt.event.*;
public class ButtonGame extends Frame{
	Button [][] bt=new Button[4][4];
	Panel gridlayoutpanel1=new Panel();
	Label la;
	Panel p1,
	      p2,
	      p3,
	      p4,
	      p5;

    ButtonGame(){
   
        int rand,length=1;
        int []t=new int[16];
        for(int col=0;col<4;col++)
         {  
           for(int row=0;row<4;row++)
            { 
              rand= (int)(Math.random()*15+1);
              if(col==0&&row==0){
                 t[length]=rand;
                 length++;
                 bt[col][row]=new Button(String.valueOf(rand));
                 gridlayoutpanel1.add(bt[col][row]);
                  }
               else if(length==16) {
               	 bt[col][row]=new Button(""); 
               	 gridlayoutpanel1.add(bt[col][row]);
               	 break;
               	}
               else {
	                        int j=1;
			                  while(j<length)
			                  {
			                    if(rand!=t[j]){
			                         j++;
			                    }
			                    else break;
			                  }
		                  if(j==length){
		                 	    t[length]=rand;
	                            length++;
	                            bt[col][row]=new Button(String.valueOf(rand));
		                        gridlayoutpanel1.add(bt[col][row]);
		                   }
		                  /* else if(j!=length&&row==0){
		                    row=3;
		                    col--;&&row!=0
		                   }*/
		                 	else if(j!=length){
		                 	 row--;
		                 	}
	               }
            }
            
         }
      gridlayoutpanel1.setLayout(new GridLayout(5,4));
      la=new Label("Clever!");
      la.setVisible(false);
      gridlayoutpanel1.add(la);
      add(gridlayoutpanel1);
      for(int i=0;i<4;i++)
       {
       	for(int j=0;j<4;j++)
         {
         bt[i][j].addActionListener(l);      
         }
       }
        addWindowListener(new WindowAdapter(){
      	 public void windowClosing(WindowEvent e){
      	 System.exit(0);
      	    }});
    
   }
 
     ActionListener l=new ActionListener(){
     public void actionPerformed(ActionEvent e){
         int newc=0,newr=0,k=1,oldc=0,oldr=0;
         String replace=new String("");
         for(int i=0;i<4;i++)
          {
            for(int j=0;j<4;j++)
             { 
               if(bt[i][j].getLabel().equals(String.valueOf(k))){k++; System.out.println(bt[i][j].getLabel());}               
                if(e.getSource()==bt[i][j]){ newc=i; newr=j;}
	           if(bt[i][j].getLabel()==""){ replace=bt[i][j].getLabel(); oldc=i; oldr=j;}  
             }          
          }	System.out.println(k);
	   if(k==16) { 
	      la.setVisible(true); 
	      bt[oldc][oldr].setLabel(bt[newc][newr].getLabel()); 
	      bt[newc][newr].setLabel("End");
	        }	     
	      else
		      { 
		        for(int i=0;i<4;i++)
		          {
		            for(int j=0;j<4;j++)
		             { 
		                if(newc+1<4&&bt[newc+1][newr].getLabel()=="") { 
		                     bt[newc+1][newr].setLabel(bt[newc][newr].getLabel());
		                     bt[newc][newr].setLabel(replace);
		                  }
		               else if(newc-1>=0&&bt[newc-1][newr].getLabel()=="") { 
		                     bt[newc-1][newr].setLabel(bt[newc][newr].getLabel());
		                     bt[newc][newr].setLabel(replace);
		                  }
		               else if(newr+1<4&&bt[newc][newr+1].getLabel()=="") { 
		                     bt[newc][newr+1].setLabel(bt[newc][newr].getLabel());
		                     bt[newc][newr].setLabel(replace);
		                  }
		               else if(newr-1>=0&&bt[newc][newr-1].getLabel()=="") { 
		                     bt[newc][newr-1].setLabel(bt[newc][newr].getLabel());
		                     bt[newc][newr].setLabel(replace);
		                  }
		             }          
		          }

	          }
         
         }
   };
  /* public stop()
   {int i,j;
    int [] at={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
   	for(i=0;i<4;i++)
   	 for(j=0;j<4;j++)
   	    b[i][j]=
   	
   	}*/
   public static void main(String args[]){
   	 Frame f=new ButtonGame();
   	 f.setSize(100,100);
   	 f.setVisible(true);
   	 f.pack();
   	} 

}

⌨️ 快捷键说明

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