java swing小游戏_Java Swing实现扫雷小游戏

本文介绍了使用Java Swing开发扫雷游戏的过程,包括前期设计、核心代码实现和功能特点。游戏支持不同难度选择,可以自定义雷的数量和格子数,并且具有计时和排行榜功能。文章还提供了部分关键代码片段。
摘要由CSDN通过智能技术生成

swing设计扫雷心得,供大家参考,具体内容如下

最近学习swing学习之余做了一个小游戏:扫雷

1.前期设计

0b908f9c18606058335de4856ca630e5.png

2.实现

其实完成这个游戏的核心就在于对数组的操纵,下面贴主要代码Main.java:

package first;

import java.awt.Color;

import java.awt.Dimension;

import java.awt.Font;

import java.awt.GridLayout;

import java.awt.Image;

import java.awt.Toolkit;

import java.awt.datatransfer.Clipboard;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.MouseEvent;

import java.awt.event.MouseListener;

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.IOException;

import java.io.InputStreamReader;

import java.io.OutputStreamWriter;

import java.net.ServerSocket;

import java.net.Socket;

import java.sql.DriverManager;

import java.sql.SQLException;

import java.util.HashSet;

import java.util.Set;

import java.util.UUID;

import javax.swing.ImageIcon;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JMenu;

import javax.swing.JMenuBar;

import javax.swing.JMenuItem;

import javax.swing.JOptionPane;

import javax.swing.Timer;

import com.mysql.jdbc.Connection;

import com.mysql.jdbc.Statement;

public class Main extends JFrame implements ActionListener, MouseListener {

/**

* 义建

*/

private static final long serialVersionUID = 1L;

// 前期参数声明

JMenuItem JmiNew, JmiSave, JmiOpen, JmiExit, Jmichuji, Jmizhongji, Jmigaoji, JmishowInFo, JmiZiding;

Toolkit toolKit = Toolkit.getDefaultToolkit(); // 获取默认工具包。

Clipboard clipboard = toolKit.getSystemClipboard();// 获取系统 Calibrate

// 的一个实例,作为本机平台提供的剪贴板工具的接口。

//两个图标

ImageIcon icon = new ImageIcon("G:\\eclipse-workspace\\classTest_ThunderGame\\mine.png");

ImageIcon icon1 = new ImageIcon("G:\\eclipse-workspace\\classTest_ThunderGame\\flag.png");

private static int NUM = 1;// 这个NUM是雷数,可以编写一个程序来改变

// private static final int SNUM = 9;// 这个SNUM是扫雷的格数,可以编写一个程序来改变

private JButton[][] jb;

private int[][] map;

boolean[][] flags;

boolean[][] flag;

int coutTime;

// 声明connection对象

Connection con;

// 驱动程序名

String driver = "com.mysql.jdbc.Driver";

// url:指向要访问的数据库名

String url = "jdbc:mysql://localhost:3306/testsql3";

// mysql配置的用户名

String user = "root";

// 密码

String password = "huang";

public Main(int SNUM, int Mines) {// 主要界面构造函数

setTitle("扫雷");

// 初始雷数量

NUM = Mines;

JMenuBar greenBar = new JMenuB

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值