Java扫雷游戏源代码_第1页
Java扫雷游戏源代码_第2页
Java扫雷游戏源代码_第3页
Java扫雷游戏源代码_第4页
Java扫雷游戏源代码_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

.import java.awt.BorderLayout;import java.awt.Container;import java.awt.Font;import java.awt.GridLayout;import java.awt.Insets;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JMenuItem;import javax.swing.JPanel;import javax.swing.Timer;public class ScanLei1 extends JFrame implements ActionListener{privatestaticfinallongserialVersionUID=1L;privateContainercontentPane;privateJButtonbtn;privateJButton[]btns;privateJLabelb1;privateJLabelb2;privateJLabelb3;privateTimertimer;privateintrow=9;privateintcol=9;privateintbon=10;privateint[][]a;privateintb;privateint[]a1;privateJPanelp,p1,p2,p3;publicScanLei1(Stringtitle){super(title);contentPane=getContentPane();setSize(297,377);this.setBounds(400,100,400,500);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);timer=newTimer(1000,(ActionListener)this);a=newint[row+2][col+2];..initGUI();}publicvoidinitGUI(){p3=newJPanel();b=bon;JMenuBarmenuBar=newJMenuBar();JMenumenu1=newJMenu("游戏");JMenumenu2=newJMenu("帮助");JMenuItemmi1=newJMenuItem("初级");JMenuItemmi2=newJMenuItem("中级");JMenuItemmi3=newJMenuItem("高级");mi1.addActionListener(this);menu1.add(mi1);mi2.addActionListener(this);menu1.add(mi2);mi3.addActionListener(this);menu1.add(mi3);menuBar.add(menu1);menuBar.add(menu2);p3.add(menuBar);b1=newJLabel(bon+"");a1=newint[bon];btn=newJButton("开始");btn.addActionListener(this);b2=newJLabel("0");b3=newJLabel("");btns=newJButton[row*col];p=newJPanel();p.setLayout(newBorderLayout());contentPane.add(p);p.add(p3,BorderLayout.NORTH);//combo=newJComboBox(newObject[]{"初级","中级","高级"});加监听/*combo.addItemListener(newItemListener(){}});*/p1=newJPanel();在那个位置//((FlowLayout)p1.getLayout()).setAlignment(FlowLayout.RIGHT);p1.add(b1);p1.add(btn);p1.add(b2);p1.add(b3);p.add(p3,BorderLayout. NORTH);..p.add(p1,BorderLayout. CENTER);p2=newJPanel();p2.setLayout( newGridLayout( row,col,0,0));for(int i=0;i< row*col;i++){btns[i]= newJButton( "");btns[i].setMargin( newInsets(0,0,0,0));btns[i].setFont( newFont( null,Font. BOLD,25));btns[i].addActionListener( this );btns[i].addMouseListener( newNormoreMouseEvent());p2.add(btns[i]);}contentPane.add(p,BorderLayout. NORTH);contentPane.add(p2,BorderLayout. CENTER);}public void go(){setVisible( true);}public static voidmain(String[]args){newScanLei1( "扫雷").go();}public void out( int[][]a,JButton[]btns,ActionEvente, int i, int x,int y){int p=1;if(a[x][y]==0){a[x][y]=10;btns[i].setEnabled( false ); //33for(int l=y-1;l<=y+1;l++){int m=x-1-1;int n=l-1;p=1;System.out.println(a[1][2]);if(n>-1&&n<col&&m>-1&&m<row){for(int q=0;q<row&&p==1;q++){//col-->row;if(((n+ col*q)>=(m*col))&&((n+ col*q)<(m+1)* col)){if(a[x-1][l]!=0&&a[x-1][l]!=10){btns[n+ col*q].setText(a[x-1][l]+ "");a[x-1][l]=10;btns[n+ col*q].setEnabled( false );}else if(a[x-1][l]==0){//a[x-1][l]=10;btns[n+ col*q].setEnabled( false );out(a,btns,e,n+ col*q,x-1,l); ////55////a[x-1][l]=10;..btns[n+ col*q].setEnabled( false );}p=0;}}}p=1;m=x;if(n>-1&&n<col&&m>-1&&m<col){for(int q=0;q<row&&p==1;q++){if(((n+col*q)>=(m*col))&&((n+ col*q)<(m+1)* col)){if(a[x+1][l]!=0&&a[x+1][l]!=10){btns[n+ col*q].setText(a[x+1][l]+ "");a[x+1][l]=10;btns[n+ col*q].setEnabled( false);}else if(a[x+1][l]==0){out(a,btns,e,n+ col*q,x+1,l); ///55////a[x+1][l]=10;btns[n+ col*q].setEnabled( false );}p=0;}}}}int m=x-1;int n=y-1-1;p=1;if(n>-1&&n<col&&m>-1&&m<col){for(int q=0;q<row&&p==1;q++){if(((n+col*q)>=(m*col))&&((n+ col*q)<(m+1)* col)){if(a[x][y-1]!=0&&a[x][y-1]!=10){btns[n+ col*q].setText(a[x][y-1]+ "");a[x][y-1]=10;btns[n+ col*q].setEnabled( false);}else if(a[x][y-1]==0){..out(a,btns,e,n+ col*q,x,y-1);a[x][y-1]=10;btns[n+ col*q].setEnabled( false );}p=0;}}}p=1;m=x-1;n=y+1-1;if(n>-1&&n<col&&m>-1&&m<col){for(int q=0;q<row&&p==1;q++){if(((n+col*q)>=(m*col))&&((n+ col*q)<(m+1)* col)){if(a[x][y+1]!=0&&a[x][y+1]!=10){btns[n+ col*q].setText(a[x][y+1]+ "");a[x][y+1]=10;btns[n+ col*q].setEnabled( false);}else if(a[x][y+1]==0){out(a,btns,e,n+ col*q,x,y+1);a[x][y+1]=10;btns[n+ col*q].setEnabled( false );}p=0;}}}}}public void actionPerformed(ActionEvente){if(e.getActionCommand()== "初级"){row=9;col=9;bon=10;a1=newint[bon];b=bon;//setSize(297,377);..a=newint[row+2][col+2];this.remove(p2);timer.stop();b1.setText("10");b2.setText("0");b3.setText("");btns=newJButton[ row*col];p2=newJPanel();p2.setLayout( newGridLayout( row,col,0,0));for(int i=0;i< row*col;i++){btns[i]= newJButton( " " );btns[i].setMargin( newInsets(0,0,0,0));btns[i].setFont( newFont( null ,Font. BOLD,25));btns[i].addActionListener( this);btns[i].addMouseListener( newNormoreMouseEvent());p2.add(btns[i]);}contentPane.add(p2,BorderLayout. CENTER);//setSize(297,377);this.pack();for(int i=0;i< row*col;i++){btns[i].setText( "");btns[i].setEnabled( true);}for(int i=0;i< row+2;i++){for(int j=0;j< col+2;j++){a[i][j]=0;}}}elseif(e.getActionCommand()=="中级"){row=16;col=16;bon=40;//setSize(33*col,33*row+80);a1=newint[bon];a=newint[row+2][col+2];b=bon;this.remove(p2);timer.stop();b1.setText("40");b2.setText("0");b3.setText("");btns=newJButton[ row*col];..p2=newJPanel();p2.setLayout( newGridLayout( row,col,0,0));for(int i=0;i< row*col;i++){btns[i]= newJButton( " " );btns[i].setMargin( newInsets(0,0,0,0));btns[i].setFont( newFont( null ,Font. BOLD,25));btns[i].addActionListener( this);btns[i].addMouseListener( newNormoreMouseEvent());p2.add(btns[i]);}contentPane.add(p2,BorderLayout. CENTER);this.pack();//setSize(33*col,33*row+80);for(int i=0;i< row*col;i++){btns[i].setText( "");btns[i].setEnabled( true);}for(int i=0;i< row+2;i++){for(int j=0;j< col+2;j++){a[i][j]=0;}}}elseif(e.getActionCommand()=="高级"){row=16;col=32;bon=99;setSize(33*col,33*row+80);a1=newint[bon];a=newint[row+2][col+2];b=bon;this.remove(p2);timer.stop();b1.setText("99");b2.setText("0");b3.setText("");btns=newJButton[ row*col];p2=newJPanel();p2.setLayout( newGridLayout( row,col,0,0));for(int i=0;i< row*col;i++){btns[i]= newJButton( " " );btns[i].setMargin( newInsets(0,0,0,0));btns[i].setFont( newFont( null ,Font. BOLD,25));btns[i].addActionListener( this);..btns[i].addMouseListener( newNormoreMouseEvent());p2.add(btns[i]);}contentPane.add(p2,BorderLayout. CENTER);//setSize(33*col,33*row+80);this.pack();for(int i=0;i< row*col;i++){btns[i].setText( "");btns[i].setEnabled( true);}for(int i=0;i< row+2;i++){for(int j=0;j< col+2;j++){a[i][j]=0;}}}if(e.getSource()== btn){timer.start();b=bon;b3.setText( "");//System.out.println(bon);//清空for(int i=0;i< row*col;i++){btns[i].setText( "");btns[i].setEnabled( true);}for(int i=0;i< row+2;i++){for(int j=0;j< col+2;j++){a[i][j]=0;}}产生随机数for(int i=0;i< bon;i++){intp=1;int m=(int)(Math. random()*row*col);while(p==1){int l=1;int j;for(j=0;j<i&&l==1;j++){if(a1[j]==m){m=(int)(Math. random()*row*col);l=0;..}}if(j==i){a1[i]=m;p=0;}}}b1.setText( bon+"");b2.setText( "0");布雷for(int i=0;i< bon;i++){int x=(a1[i]/ col+1);int y=(a1[i]%col+1);a[x][y]=100;}for(int i=0;i< row+2;i++){for(int j=0;j< col+2;j++){if(i==0||j==0||i== row+1||j== col+1){a[i][j]=0;}}}for(int i=1;i<= row;i++){for(int j=1;j<= col;j++){if(a[i][j]!=100){for(int l=j-1;l<=j+1;l++){if(a[i-1][l]==100){a[i][j]++;}if(a[i+1][l]==100){a[i][j]++;}}if(a[i][j-1]==100){a[i][j]++;}if(a[i][j+1]==100){a[i][j]++;}}}}}..if(e.getSource()== timer){Stringtime= b2.getText().trim();int t=Integer. parseInt(time);//System.out.println(t);if(t>=600){timer.stop();}else{t++;b2.setText(t+ "");}}for(int i=0;i< col*row;i++){if(btns[i].getText()!= "★"){int x=i/ col+1;int y=i%col+1;if(e.getSource()== btns[i]&&a[x][y]==100){btns[i].setText( "★");btns[i].setEnabled( false);a[x][y]=10;for(int k=0;k< col*row;k++){int m1=k/col+1;int n1=k%col+1;if(a[m1][n1]!=10&& btns[k].getText()== "★"){btns[k].setText( "*o*" );}}for(int j=0;j< col*row;j++){int m=j/col+1;int n=j%col+1;if(a[m][n]==100){btns[j].setText( "★");btns[j].setEnabled( false);b3.setText( "你输了 !!");}btns[j].setEnabled( false);a[m][n]=10;}timer.stop();}else if(e.getSource()== btns[i]){..if(a[x][y]==0){out(a,btns,e,i,x,y);a[

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论