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

付费下载

下载本文档

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

文档简介

第页importjava.awt.BorderLayout;importjava.awt.Container;importjava.awt.Font;importjava.awt.GridLayout;importjava.awt.Insets;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.awt.event.MouseAdapter;importjava.awt.event.MouseEvent;importjavax.swing.JButton;importjavax.swing.JFrame;importjavax.swing.JLabel;importjavax.swing.JMenu;importjavax.swing.JMenuBar;importjavax.swing.JMenuItem;importjavax.swing.JPanel;importjavax.swing.Timer;publicclassScanLei1extendsJFrameimplementsActionListener{ 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(inti=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); publicvoidgo(){ setVisible(true); publicstaticvoidmain(String[]args){ newScanLei1("扫雷").go(); publicvoidout(int[][]a,JButton[]btns,ActionEvente,inti,intx,inty){ intp=1; if(a[x][y]==0){ a[x][y]=10; btns[i].setEnabled(false); //33 for(intl=y-1;l<=y+1;l++){ intm=x-1-1; intn=l-1; p=1; System.out.println(a[1][2]); if(n>-1&&n<col&&m>-1&&m<row) for(intq=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); elseif(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(intq=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); elseif(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; intm=x-1; intn=y-1-1; p=1; if(n>-1&&n<col&&m>-1&&m<col) for(intq=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); elseif(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(intq=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); elseif(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; publicvoidactionPerformed(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(inti=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(inti=0;i<row*col;i++){ btns[i].setText(""); btns[i].setEnabled(true); for(inti=0;i<row+2;i++){ for(intj=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(inti=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(inti=0;i<row*col;i++){ btns[i].setText(""); btns[i].setEnabled(true); for(inti=0;i<row+2;i++){ for(intj=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(inti=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(inti=0;i<row*col;i++){ btns[i].setText(""); btns[i].setEnabled(true); for(inti=0;i<row+2;i++){ for(intj=0;j<col+2;j++){ a[i][j]=0; if(e.getSource()==btn){ timer.start(); b=bon; b3.setText(""); //System.out.println(bon); //清空 for(inti=0;i<row*col;i++){ btns[i].setText(""); btns[i].setEnabled(true); for(inti=0;i<row+2;i++){ for(intj=0;j<col+2;j++){ a[i][j]=0; //产生随机数 for(inti=0;i<bon;i++) {intp=1; intm=(int)(Math.random()*row*col); while(p==1){ intl=1; intj; 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(inti=0;i<bon;i++){ intx=(a1[i]/col+1); inty=(a1[i]%col+1); a[x][y]=100; for(inti=0;i<row+2;i++){ for(intj=0;j<col+2;j++){ if(i==0||j==0||i==row+1||j==col+1){ a[i][j]=0; for(inti=1;i<=row;i++){ for(intj=1;j<=col;j++){ if(a[i][j]!=100){ for(intl=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(); intt=Integer.parseInt(time); //System.out.println(t); if(t>=600){ timer.stop(); }else{ t++; b2.setText(t+""); for(inti=0;i<col*row;i++){ if(btns[i].getText()!="★") intx=i/col+1; inty=i%col+1; if(e.getSource()==btns[i]&&a[x][y]==100){ btns[i].setText("★"); btns[i].setEnabled(false); a[x][y]=10; for(intk=0;k<col*row;k++){ intm1=k/col+1; intn1=k%col+1; if(a[m1][n1]!=10&&btns[k].getText()=="★"){ btns[k].setText("*o*"); for(intj=0;j<col*row;j++){ intm=j/col+1; intn=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(); elseif(e.getSource()==btns[i]){ if(a[x][y]==0){ out(a,btns,e,i,x,y); a[x][y]=10; btns[i].setEnabled(false); if(a[x][y]!=0&&a[x]

温馨提示

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

评论

0/150

提交评论