資源簡介
資源提供給剛?cè)腴T的老哥們參考,10 * 10 的java界面掃雷游戲,當(dāng)然,也可以自己設(shè)置成更大的,具體講解在我博客,可以去看下.

代碼片段和文件信息
package?BongEvent;
import?java.awt.event.MouseAdapter;
import?java.awt.event.MouseEvent;
import?DrawBong.DrawBong;
import?End.EndJframe;
import?Panel.MyPanel;
public?class?BongEvent?extends?MouseAdapter{
private?MyPanel[][]?mpp;//接受傳入的數(shù)組用于實現(xiàn)掃雷功能
private?DrawBong?db; //接受傳入的DrawBong用于得出掃雷結(jié)果后把掃雷盤隱藏
public?BongEvent(MyPanel[][]?mpp??DrawBong?db){
this.mpp?=?mpp;
this.db?=?db;
}
/**
?*?更新點擊后的掃雷盤信息
?*?@param?mpp?掃雷盤上元素信息的數(shù)組
?*?@param?x?點擊元素的x坐標(biāo)
?*?@param?y?點擊元素的y坐標(biāo)
?*/
public?static?void?Deal(MyPanel[][]?mpp?int?x?int?y){
for(int?i?=?x?-?1;?i?<=?x?+?1?&&?i?10;?i++){//判斷點擊元素周圍是否有雷有則跳出(也可以直接判斷自身的showStr)
for(int?j?=?y?-?1;?j?<=?y?+?1?&&?j?10;?j++){
if(i?0?||?j?0){
continue;
}
if(mpp[i][j].getShowStr().equals(“=“)){
mpp[x][y].setN(1);
return;
}
}
}
mpp[x][y].setN(1);//走到這里說明周圍沒雷先把自身標(biāo)為打開不然下面會出現(xiàn)無限遞歸而發(fā)生異常
for(int?i?=?x?-?1;?i?<=?x?+?1?&&?i?10;?i++){
for(int?j?=?y?-?1;?j?<=?y?+?1?&&?j?10;?j++){
if(i?0?||?j?0){
continue;
}
if(mpp[i][j].getN()?==?0){//開始遞歸
Deal(mpp?i?j);
}
}
}
}
public?void?mouseClicked(MouseEvent?e){
if(e.getButton()?==?MouseEvent.BUTTON1){//按下左鍵
MyPanel?p?=?(MyPanel)e.getSource();
BongEvent.Deal(mpp?p.getX()?p.getY());//傳入信息
for(int?i?=?0;?i?10;?i++){//處理完過后把掃雷盤重畫一遍
for(int?j?=?0;?j?10;?j++){
mpp[i][j].repaint();
}
}
if(p.getShowStr().equals(“=“)){//如果點到雷了則把DrawBong隱藏在打開一個界面
db.setVisible(false);
new?EndJframe(“你踩到雷了!“);
}
int?k?=?100;
for(int?i?=?0;?i?10;?i++){//判斷是否還剩10個沒被左鍵點開如果只有10個了則代表掃雷成功
for(int?j?=?0;?j?10;?j++){
if(mpp[i][j].getN()?==?1){
k--;
}
if(k?==?10){
db.setVisible(false);
new?EndJframe(“掃雷成功!“);
}
}
}
}
if(e.getButton()?==?MouseEvent.BUTTON3){//右鍵標(biāo)記是否為雷
MyPanel?p?=?(MyPanel)e.getSource();
if(p.getN()?==?0){
p.setN(2);
p.repaint();
}else?if(p.getN()?==?2){
p.setN(0);
p.repaint();
}else{
}
}
}
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-05-03?14:38??Bong\
?????文件?????????301??2018-05-03?14:38??Bong\.classpath
?????文件?????????380??2018-05-03?14:38??Bong\.project
?????目錄???????????0??2018-05-03?14:38??Bong\.settings\
?????文件?????????598??2018-05-03?14:38??Bong\.settings\org.eclipse.jdt.core.prefs
?????目錄???????????0??2018-05-08?10:03??Bong\bin\
?????目錄???????????0??2018-05-08?10:03??Bong\bin\BongEvent\
?????文件????????2071??2018-05-08?10:14??Bong\bin\BongEvent\BongEvent.class
?????目錄???????????0??2018-05-08?10:03??Bong\bin\DrawBong\
?????文件????????2124??2018-05-08?10:15??Bong\bin\DrawBong\DrawBong.class
?????目錄???????????0??2018-05-08?10:03??Bong\bin\End\
?????文件?????????787??2018-05-08?14:22??Bong\bin\End\EndJfr
?????文件?????????831??2018-05-08?10:03??Bong\bin\End\EndPanel.class
?????目錄???????????0??2018-05-08?10:03??Bong\bin\main\
?????文件?????????415??2018-05-08?10:03??Bong\bin\main\BangMain.class
?????目錄???????????0??2018-05-08?10:03??Bong\bin\Panel\
?????文件????????2160??2018-05-08?10:03??Bong\bin\Panel\MyPanel.class
?????目錄???????????0??2018-05-03?21:39??Bong\src\
?????目錄???????????0??2018-05-03?20:33??Bong\src\BongEvent\
?????文件????????2327??2018-05-08?10:14??Bong\src\BongEvent\BongEvent.java
?????目錄???????????0??2018-05-03?20:27??Bong\src\DrawBong\
?????文件????????1888??2018-05-08?10:15??Bong\src\DrawBong\DrawBong.java
?????目錄???????????0??2018-05-03?21:39??Bong\src\End\
?????文件?????????467??2018-05-08?14:22??Bong\src\End\EndJfr
?????文件?????????467??2018-05-03?22:19??Bong\src\End\EndPanel.java
?????目錄???????????0??2018-05-03?21:08??Bong\src\main\
?????文件?????????230??2018-05-03?21:48??Bong\src\main\BangMain.java
?????目錄???????????0??2018-05-03?14:39??Bong\src\Panel\
?????文件????????1674??2018-05-03?22:06??Bong\src\Panel\MyPanel.java
評論
共有 條評論