Java扫雷游戏源代码.docx

上传人:b****8 文档编号:9038195 上传时间:2023-02-02 格式:DOCX 页数:19 大小:18.04KB
下载 相关 举报
Java扫雷游戏源代码.docx_第1页
第1页 / 共19页
Java扫雷游戏源代码.docx_第2页
第2页 / 共19页
Java扫雷游戏源代码.docx_第3页
第3页 / 共19页
Java扫雷游戏源代码.docx_第4页
第4页 / 共19页
Java扫雷游戏源代码.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

Java扫雷游戏源代码.docx

《Java扫雷游戏源代码.docx》由会员分享,可在线阅读,更多相关《Java扫雷游戏源代码.docx(19页珍藏版)》请在冰豆网上搜索。

Java扫雷游戏源代码.docx

Java扫雷游戏源代码

importjava.awt.BorderLayout;

importjava.awt.Container;

importjava.awt.Font;

importjava.awt.GridLayout;

importjava.awt.Insets;

importjava.awt.event.ActionEvent;

importjava.awt.event.ActionListener;

importjava.awt.event.MouseAdapter;

importjava.awt.event.MouseEvent;

importjavax.swing.utton;

importjavax.swing.JFrame;

importjavax.swing.JLabel;

importjavax.swing.JMenu;

importjavax.swing.JMenuBar;

importjavax.swing.JMenuItem;

importjavax.swing.JPanel;

importjavax.swing.Timer;

publicclassScanLei1extendsJFrameimplementsActionListener{

privatestaticfinallongserialVersionUID=1L;

privateContainercontentPane;

privateuttonbtn;

privateutton[]btns;

privateJLabelb1;

privateJLabelb2;

privateJLabelb3;

privateTimertimer;

privateintrow=9;

privateintcol=9;

privateintbon=10;

privateint[][]a;

privateintb;

privateint[]a1;

privateJPanelp,p1,p2,p3;

publicScanLei1(Stringtitle){

super(title);

contentPane=getContentPane();

setSize(297,377);

this.setBounds(400,100,400,500);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

timer=newTimer(1000,(ActionListener)this);

a=newint[row+2][col+2];

initGUI();

}

publicvoidinitGUI(){

p3=newJPanel();

b=bon;

JMenuBarmenuBar=newJMenuBar();

JMenumenu1=newJMenu("游戏");

JMenumenu2=newJMenu("帮助");

JMenuItemmi1=newJMenuItem("初级");

JMenuItemmi2=newJMenuItem("中级");

JMenuItemmi3=newJMenuItem("高级");

mi1.addActionListener(this);

menu1.add(mi1);

mi2.addActionListener(this);

menu1.add(mi2);

mi3.addActionListener(this);

menu1.add(mi3);

menuBar.add(menu1);

menuBar.add(menu2);

p3.add(menuBar);

b1=newJLabel(bon+"");

a1=newint[bon];

btn=newutton("开始");

btn.addActionListener(this);

b2=newJLabel("0");

b3=newJLabel("");

btns=newutton[row*col];

p=newJPanel();

p.setLayout(newBorderLayout());

contentPane.add(p);

p.add(p3,BorderLayout.NORTH);

//bo=newoBox(newObject[]{"初级","中级","高级"});

//加监听

/*bo.addItemListener(newItemListener(){

}});*/

p1=newJPanel();

//在那个位置

//((FlowLayout)p1.getLayout()).setAlignment(FlowLayout.RIGHT);

p1.add(b1);

p1.add(btn);

p1.add(b2);

p1.add(b3);

p.add(p3,BorderLayout.NORTH);

p.add(p1,BorderLayout.CENTER);

p2=newJPanel();

p2.setLayout(newGridLayout(row,col,0,0));

for(inti=0;i

btns[i]=newutton("");

btns[i].setMargin(newInsets(0,0,0,0));

btns[i].setFont(newFont(null,Font.BOLD,25));

btns[i].addActionListener(this);

btns[i].addMouseListener(newNormoreMouseEvent());

p2.add(btns[i]);

}

contentPane.add(p,BorderLayout.NORTH);

contentPane.add(p2,BorderLayout.CENTER);

}

publicvoidgo(){

setVisible(true);

}

publicstaticvoidmain(String[]args){

newScanLei1("扫雷").go();

}

publicvoidout(int[][]a,utton[]btns,ActionEvente,inti,intx,inty){

intp=1;

if(a[x][y]==0){

a[x][y]=10;

btns[i].setEnabled(false);//33

for(intl=y-1;l<=y+1;l++){

intm=x-1-1;

intn=l-1;

p=1;

System.out.println(a[1][2]);

if(n>-1&&n-1&&m

{

for(intq=0;qrow;

if(((n+col*q)>=(m*col))&&((n+col*q)<(m+1)*col)){

if(a[x-1][l]!

=0&&a[x-1][l]!

=10){

btns[n+col*q].setText(a[x-1][l]+"");

a[x-1][l]=10;

btns[n+col*q].setEnabled(false);

}

elseif(a[x-1][l]==0){

//a[x-1][l]=10;

btns[n+col*q].setEnabled(false);

out(a,btns,e,n+col*q,x-1,l);////55////

a[x-1][l]=10;

btns[n+col*q].setEnabled(false);

}

p=0;

}

}

}

p=1;

m=x;

if(n>-1&&n-1&&m

{

for(intq=0;q

if(((n+col*q)>=(m*col))&&((n+col*q)<(m+1)*col)){

if(a[x+1][l]!

=0&&a[x+1][l]!

=10){

btns[n+col*q].setText(a[x+1][l]+"");

a[x+1][l]=10;

btns[n+col*q].setEnabled(false);

}

elseif(a[x+1][l]==0){

out(a,btns,e,n+col*q,x+1,l);///55////

a[x+1][l]=10;

btns[n+col*q].setEnabled(false);

}

p=0;

}

}

}

}

intm=x-1;

intn=y-1-1;

p=1;

if(n>-1&&n-1&&m

{

for(intq=0;q

if(((n+col*q)>=(m*col))&&((n+col*q)<(m+1)*col)){

if(a[x][y-1]!

=0&&a[x][y-1]!

=10){

btns[n+col*q].setText(a[x][y-1]+"");

a[x][y-1]=10;

btns[n+col*q].setEnabled(false);

}

elseif(a[x][y-1]==0){

 

out(a,btns,e,n+col*q,x,y-1);

a[x][y-1]=10;

btns[n+col*q].setEnabled(false);

}

p=0;

}

}

}

p=1;

m=x-1;

n=y+1-1;

if(n>-1&&n-1&&m

{

for(intq=0;q

if(((n+col*q)>=(m*col))&&((n+col*q)<(m+1)*col)){

if(a[x][y+1]!

=0&&a[x][y+1]!

=10){

btns[n+col*q].setText(a[x][y+1]+"");

a[x][y+1]=10;

btns[n+col*q].setEnabled(false);

}

elseif(a[x][y+1]==0){

out(a,btns,e,n+col*q,x,y+1);

a[x][y+1]=10;

btns[n+col*q].setEnabled(false);

}

p=0;

}

}

}

}

}

publicvoidactionPerformed(ActionEvente){

if(e.getActionmand()=="初级"){

row=9;

col=9;

bon=10;

a1=newint[bon];

b=bon;

//setSize(297,377);

a=newint[row+2][col+2];

this.remove(p2);

timer.stop();

b1.setText("10");

b2.setText("0");

b3.setText("");

btns=newutton[row*col];

p2=newJPanel();

p2.setLayout(newGridLayout(row,col,0,0));

for(inti=0;i

btns[i]=newutton("");

btns[i].setMargin(newInsets(0,0,0,0));

btns[i].setFont(newFont(null,Font.BOLD,25));

btns[i].addActionListener(this);

btns[i].addMouseListener(newNormoreMouseEvent());

p2.add(btns[i]);

}

contentPane.add(p2,BorderLayout.CENTER);

//setSize(297,377);

this.pack();

for(inti=0;i

btns[i].setText("");

btns[i].setEnabled(true);

}

for(inti=0;i

for(intj=0;j

a[i][j]=0;

}

}

}elseif(e.getActionmand()=="中级"){

row=16;

col=16;

bon=40;

//setSize(33*col,33*row+80);

a1=newint[bon];

a=newint[row+2][col+2];

b=bon;

this.remove(p2);

timer.stop();

b1.setText("40");

b2.setText("0");

b3.setText("");

btns=newutton[row*col];

p2=newJPanel();

p2.setLayout(newGridLayout(row,col,0,0));

for(inti=0;i

btns[i]=newutton("");

btns[i].setMargin(newInsets(0,0,0,0));

btns[i].setFont(newFont(null,Font.BOLD,25));

btns[i].addActionListener(this);

btns[i].addMouseListener(newNormoreMouseEvent());

p2.add(btns[i]);

}

contentPane.add(p2,BorderLayout.CENTER);

this.pack();

//setSize(33*col,33*row+80);

for(inti=0;i

btns[i].setText("");

btns[i].setEnabled(true);

}

for(inti=0;i

for(intj=0;j

a[i][j]=0;

}

}

}elseif(e.getActionmand()=="高级"){

row=16;

col=32;

bon=99;

setSize(33*col,33*row+80);

a1=newint[bon];

a=newint[row+2][col+2];

b=bon;

this.remove(p2);

timer.stop();

b1.setText("99");

b2.setText("0");

b3.setText("");

btns=newutton[row*col];

p2=newJPanel();

p2.setLayout(newGridLayout(row,col,0,0));

for(inti=0;i

btns[i]=newutton("");

btns[i].setMargin(newInsets(0,0,0,0));

btns[i].setFont(newFont(null,Font.BOLD,25));

btns[i].addActionListener(this);

btns[i].addMouseListener(newNormoreMouseEvent());

p2.add(btns[i]);

}

contentPane.add(p2,BorderLayout.CENTER);

//setSize(33*col,33*row+80);

this.pack();

for(inti=0;i

btns[i].setText("");

btns[i].setEnabled(true);

}

for(inti=0;i

for(intj=0;j

a[i][j]=0;

}

}

}

if(e.getSource()==btn){

timer.start();

b=bon;

b3.setText("");

//System.out.println(bon);

//清空

for(inti=0;i

btns[i].setText("");

btns[i].setEnabled(true);

}

for(inti=0;i

for(intj=0;j

a[i][j]=0;

}

}

//产生随机数

for(inti=0;i

{intp=1;

intm=(int)(Math.random()*row*col);

while(p==1){

intl=1;

intj;

for(j=0;j

if(a1[j]==m){

m=(int)(Math.random()*row*col);

l=0;

}

}

if(j==i){

a1[i]=m;

p=0;

}

}

}

b1.setText(bon+"");

b2.setText("0");

//布雷

for(inti=0;i

intx=(a1[i]/col+1);

inty=(a1[i]%col+1);

a[x][y]=100;

}

for(inti=0;i

for(intj=0;j

if(i==0||j==0||i==row+1||j==col+1){

a[i][j]=0;

}

}

}

for(inti=1;i<=row;i++){

for(intj=1;j<=col;j++){

if(a[i][j]!

=100){

for(intl=j-1;l<=j+1;l++){

if(a[i-1][l]==100){

a[i][j]++;

}

if(a[i+1][l]==100){

a[i][j]++;

}

}

if(a[i][j-1]==100){

a[i][j]++;

}

if(a[i][j+1]==100){

a[i][j]++;

}

}

}

}

}

if(e.getSource()==timer)

{

Stringtime=b2.getText().trim();

intt=Integer.parseInt(time);

//System.out.println(t);

if(t>=600){

timer.stop();

}else{

t++;

b2.setText(t+"");

}

}

for(inti=0;i

if(btns[i].getText()!

="★")

{

intx=i/col+1;

inty=i%col+1;

if(e.getSource()==btns[i]&&a[x][y]==100){

btns[i].setText("★");

btns[i].setEnabled(false);

a[x][y]=10;

for(intk=0;k

intm1=k/col+1;

intn1=k%col+1;

if(a[m1][n1]!

=10&&btns[k].getText()=="★"){

btns[k].setText("*o*");

}

}

for(intj=0;j

intm=j/col+1;

intn=j%col+1;

if(a[m][n]==100){

btns[j].setText("★");

btns[j].setEnabled(false);

b3.setText("你输了!

");

}

btns[j].setEnabled(false);

a[m][n]=10;

}

timer.stop();

}

elseif(e.getSource()==btns[i]){

if(a[x][y]==0){

out(a,btns,e,i,x,y);

a[x][y]=10;

btns[i].setEnabled(false);

}

if(a[x][y]!

=0&&a[x][y]!

=10){

btns[i].setText(a[x][y]+"");

btns[i].setEnabled(false);

a[x][y]=10;

}

}

}elseif(btns[i].getText()=="★"){

}

}

}

classNormoreMouseEventextendsMouseAdapter{

publicvoidmouseClicked(MouseEvente){

System.out.println(b);

for(inti=0;i

intx1=i/col+1;

inty1=i%col+1;

if(e.getSource()==btns[i]&&btns[i].getText()!

="★"&&a[x1][y1]!

=10)

{

if(e.getButton()==MouseEvent.BUTTON3){

btns[i].setText("★");

b--;

if(b==0){

intflag=0;

fo

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 理化生

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1