文档库

最新最全的文档下载
当前位置:文档库 > java游戏编(扫雷)

java游戏编(扫雷)

import java.awt.*;
import javax.swing.*;
import java.awt.Container;
import java.awt.event.*;
public class saolei extends JFrame implements ActionListener,MouseListener
{
public int x=10;//框架行数
public int y=10;//框架列数
public int minesum=30;//框架上总雷数
public int leis=30;//雷数
public KYJButton p;
public KYJButton[][] h;
public int time=0;
public int nolei=x*y-minesum;
public JPanel z=new JPanel(new GridLayout(1,3));
public saolei()
{
JPanel k=new JPanel();
k.setLayout(new GridLayout(x,y));
KYJButton[][] h;
h=new KYJButton[x][y];
/* Timer timer = new Timer(1000, new TimerListener());
timer.start();
class TimerListener implements ActionListener{
public void actionPerformed(ActionEvent e){
time++;
}
}*/
for(int i=0;ifor(int j=0;j{
h[i][j]=new KYJButton();
h[i][j].setx(i);
h[i][j].sety(j);
k.add(h[i][j]);
// ActionListener listen=new saoleilistener();
h[i][j].addActionListener(this);
}
int a;
int b;
int yhx=minesum;
while(yhx>0)
{
a=(int)(Math.random()*(getx()-1));
b=(int)(Math.random()*(gety()-1));
if(h[a][b].getmine()==false)
{
h[a][b].setmine(true);
h[a][b].sets(9);
yhx--;
}
}
for(int i=0;ifor(int j=0;j{
int lei=0;//八个方向的总雷数
for(int n=1;n<9;n++)
{
switch(n)
{
case 1:
{
if((i-1)>=0&&(j-1)>=0&&h[i][j].getmine()==false)
{
if(h[i-1][j-1].getmine())//判断其中某个方向是否为雷
{
lei++;
}
}
};break;
case 2:
{
if((i-1)>=0&&h[i][j].getmine()==false)
{
if(h[i-1][j].getmine())//判断其中某个方向是否为雷
{
lei++;
}
}
};break;
case 3:
{
if((i-1)>=0&&(j+1){
if(h[i-1][j+1].getmine())//判断其中某个方向是否为雷
{
lei++;
}
}
};break;
case 4:
{
if((j+1){
if(h[i][j+1].getmine())//判断其中某个方向是否为雷
{
lei++;
}
}
};break;
case 5:
{
if((i+1){
if(h[i+1][j+1].getmine())//判断其中某个方向是否为雷
{
lei++;
}
}
};break;
case 6:
{
if((i+1){
if(h[i+1][j].getmine())//判断其中某个方向是否为雷
{
lei++;
}
}
};break;
case 7:
{
if((i+1)=0&&h[i][j].getmine()==false)
{
if(h[i+1][j-1].getmine())//判断其中某个方向是否为雷
{
lei++;
}
}
};break;
case 8:
{

java游戏编(扫雷)

(共4页)