上百度阿瓦达娃啊哦的不知道,哈哈import java.awt.*; import javax.swing.*; import java.util.Random; import java.awt.event.*; class Min extends JPanel //雷的类 { //备注:鼠标的左键 = 1;右键 = 3;中键 = 2 private int flag = 0,statu = 0; //定义雷的属性 0:没有打开 1:打开 2:标示为雷 3:不确定 //flag = 0 不是雷 ; flag = 1是雷 private int but,count = 0; //but:哪一个鼠标键被按下去了 count:这个区域周围有多少个雷 private int mx = 0,my = 0,mw = 10; //定义雷的坐标和宽度 public Min() //构造函数 { statu = 0; } public Min(int f,int x,int y,int w) //构造函数 { flag = f; mx = x; my = y; mw = w; } public int getFlag(){return flag;} public int getStatu(){return statu;} public int getMx(){return mx;} public int getMy(){return my;} public int getMw(){return mw;} public int getCount(){return count;} public void setFlag(int f){flag = f;} public void setCount(int c){count = c;} public void setData(int f,int x,int y,int w,int s) //传递值 { flag = f; mx = (x-1)*w; my = (y-1)*w; mw = w-1; statu = s; } //根据你点击鼠标的不同来改变雷的属性 public int sendKey(int key) { //返回值,如果游戏结束则返回-1 int rtn = 1; if(key == 3) { switch(statu) { case 1: break; case 2: statu = 3; break; case 3: statu = 0; break; case 0: statu = 2; break; } rtn = 1; } if(key == 1 && statu == 0) { switch(flag) { case 0: statu = 1; rtn = 2; break; case 1: statu = 1; rtn = -1; break; } } return rtn; } } class DrawPanel extends JPanel { private int i,j; private int f = 0; //if f = 1 then game over ,if f =2 then win private int chx = 0,chy = 0; //专门记录坐标x,y的值 private int msum = 6,ksum = 0; //msum:雷的个数,ksum:标示雷的个数 private int bx = 10,by = 10,bw = 40; //bx,by:棋盘的大小,bw:棋子的大小 public Min board[][] = { {new Min(),new Min(),new Min(),new Min(),new Min(),new Mi