Java掃雷游戲源代碼11_第1頁
Java掃雷游戲源代碼11_第2頁
Java掃雷游戲源代碼11_第3頁
Java掃雷游戲源代碼11_第4頁
Java掃雷游戲源代碼11_第5頁
已閱讀5頁,還剩14頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

第頁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[]{"初級","中級","高級"}); //加監(jiān)聽 /*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; //產(chǎn)生隨機數(shù) 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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論