栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java实现简单的扫雷小程序

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java实现简单的扫雷小程序

前两天看了个扫雷的视频,于是自己跟着做了下,感觉还不是很难。

初学Java的同学可以尝试自己操作下Java小程序

这样子才能提高自己的理解能力和编程水平

不用多说了,直接上代码吧!

具体代码操作如下:

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;


 import javax.swing.JButton;
 import javax.swing.Jframe;
 import javax.swing.*;


 public class saolei implements ActionListener {
 Jframe frame=new Jframe("扫雷游戏");
 JButton reset=new JButton("重来");
 Container container=new Container();
 
 //游戏数据结构
 final int row=20;
 final int col=20;
 final int leiCount=30;
 JButton [][] buttons=new JButton[row][col];
 int [][] counts=new int[row][col];
 final int LEICODE=10;
 
 // 构造函数
 public saolei(){
 //1、设置窗口
 frame.setSize(900, 800);
 frame.setResizable(true);//是否可改变窗口大小
 frame.setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE);
 frame.setLayout(new BorderLayout());
 //2、添加重来按钮
 addResetButton();
 //添加按钮
 addButtons();
 
 //埋雷
 addLei();
 //添加雷的计算
 calcNeiboLei();
 frame.setVisible(true);
 }
 public void addResetButton(){
 reset.setBackground(Color.green);
 reset.setOpaque(true);
 reset.addActionListener(this);
 frame.add(reset,BorderLayout.NORTH);
 }
 public void addLei(){
 Random rand=new Random();
 int randRow,randCol;
 for(int i=0;i0 && j>0 && counts[i-1][j-1]==LEICODE) count++;
 if(i>0&&counts[i-1][j]==LEICODE) count++;
 if(i>0 && j<19 && counts[i-1][j+1]==LEICODE) count++;
 if(j>0 && counts[i][j-1]==LEICODE) count++;
 if(j<19 && counts[i][j+1]==LEICODE) count++;
 if(i<19&&j>0&&counts[i+1][j-1]==LEICODE) count++;
 if(i<19&&counts[i+1][j]==LEICODE) count++;
 if(i<19&&j<19&&counts[i+1][j+1]==LEICODE) count++;
 
 counts[i][j]=count;
 //buttons[i][j].setText(counts[i][j]+"");
 }
 }
 }
 @Override
 public void actionPerformed(ActionEvent e) {
 // TODO Auto-generated method stub
 JButton button=(JButton)e.getSource();
 if(button.equals(reset)){
 for(int i=0;i0 && j>0 && counts[i-1][j-1]!=LEICODE) openCell(i-1, j-1);
 if(i>0&&counts[i-1][j]!=LEICODE) openCell(i-1, j);
 if(i>0 && j<19 && counts[i-1][j+1]!=LEICODE) openCell(i-1, j+1);
 if(j>0 && counts[i][j-1]!=LEICODE) openCell(i, j-1);
 if(j<19 && counts[i][j+1]!=LEICODE) openCell(i, j+1);
 if(i<19&&j>0&&counts[i+1][j-1]!=LEICODE) openCell(i+1, j-1);
 if(i<19&&counts[i+1][j]!=LEICODE) openCell(i+1, j);
 if(i<19&&j<19&&counts[i+1][j+1]!=LEICODE) openCell(i+1, j+1);
 
 buttons[i][j].setText(counts[i][j]+"");
 }else{
 buttons[i][j].setText(counts[i][j]+"");
 }
 }
 void LoseGame(){
 for(int i=0;i

大致具体的代码和结果如下

更多精彩游戏,请参考专题《java经典小游戏》

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/134348.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号