• 大小: 13KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-03
  • 语言: Java
  • 标签: MXC  

资源简介

资源提供给刚入门的老哥们参考,10 * 10 的java界面扫雷游戏,当然,也可以自己设置成更大的,具体讲解在我博客,可以去看下.

资源截图

代码片段和文件信息

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;//接受传入的数组用于实现扫雷功能
private DrawBong db; //接受传入的DrawBong用于得出扫雷结果后把扫雷盘隐藏
public BongEvent(MyPanel[][] mpp  DrawBong db){
this.mpp = mpp;
this.db = db;
}
/**
 * 更新点击后的扫雷盘信息
 * @param mpp 扫雷盘上元素信息的数组
 * @param x 点击元素的x坐标
 * @param y 点击元素的y坐标
 */
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);//走到这里说明周围没雷先把自身标为打开不然下面会出现无限递归而发生异常
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){//右键标记是否为雷
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\EndJframe.class
     文件         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\EndJframe.java
     文件         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

评论

共有 条评论