資源描述:
《java掃雷程序(完整)》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在應用文檔-天天文庫。
1、java掃雷程序(完整)JAVA編程的掃雷小游戲的源代碼importjava.awt.event.*;importjava.awt.*;importjavax.swing.*;importjava.util.*;importjava.io.*;publicclassMineSquareextendsJPanelimplementsMouseListener{introws=10,cols=10,雷數(shù)=10;JButtonbuttonFace=null;Blockblock[][];TimeCounttime;CountMinecount;Stringgrade=
2、null;RandomSetMine隨機布雷者;FindAroundMineNumber確定周圍雷數(shù)者;FindSafeArea找出無雷連通區(qū)者;DetermineDigArea成片挖開者;DetermineMineMarkIsRightOrWrong確定雷標記是否正確者;FindAroundMineMarkNumber確定周圍雷標數(shù)目者;DecideWinner判斷是否勝利者;Record記錄對話框=null;publicMineSquare(Stringgrade,intmineNumber,introws,intcols,JButtonb,JDialogd
3、ialog){this.grade=grade;this.rows=rows;this.cols=cols;雷數(shù)=mineNumber;判斷是否勝利者=newDecideWinner();記錄對話框=(Record)dialog;block=newBlock[rows+1][cols+1];buttonFace=b;time=newTimeCount();count=newCountMine(雷數(shù));count.textShowMine.setText(""+雷數(shù));setLayout(newGridLayout(rows,cols));http://downl
4、oad.csdn.net/source/955155Importjavax.swing.ImageIcon;//程序入口publicclassBlock{Stringname;//名字,比如"雷"或數(shù)字intaroundMineNumber;//周圍雷的數(shù)目ImageIconmineIcon;//雷的圖標booleanisMine=false;//是否是雷booleanisMark=false;//是否被標記booleanisOpen=false;//是否被挖開publicvoidsetName(Stringname){this.name=name;}//設置周
5、圍的雷數(shù)publicvoidsetAroundMineNumber(intn){aroundMineNumber=n;}//獲得周圍的雷數(shù)publicintgetAroundMineNumber(){returnaroundMineNumber;}publicStringgetName(){returnname;}//判斷是否是雷publicbooleanisMine(){returnisMine;}//設置是否為雷publicvoidsetIsMine(booleanb){isMine=b;}//設置雷的圖標publicvoidsetMineIcon(Imag
6、eIconicon){mineIcon=icon;}//獲得雷的圖標publicImageIcongetMineicon(){returnmineIcon;}//確定雷是否被挖開publicbooleangetIsOpen(){returnisOpen;}//設置為已經(jīng)被挖開publicvoidsetIsOpen(booleanp){isOpen=p;}//返回此處是否已經(jīng)被標記publicbooleangetIsMark(){returnisMark;}//設置此處是否已經(jīng)被標記publicvoidsetIsMark(booleanm){isMark=m;}i
7、mportjavax.swing.*;importjava.awt.*;publicclassBlockViewextendsJPanel{JLabelblockNameOrIcon;//用來顯示Block對象的name、number和mineIcon屬性JButtonblockCover;//用來遮擋blockNameOrIcon.CardLayoutcard;//卡片式布局BlockView(){card=newCardLayout();setLayout(card);blockNameOrIcon=newJLabel("",JLabel.CENTER);b
8、lockNameOrIc