答案:使用Java Swing创建3x3按钮网格,通过Timer控制地鼠随机出现, ActionListener处理点击事件实现计分, JLabel显示得分与倒计时,时间结束弹出结果。

想用Java开发一个简单的打地鼠小游戏,初学者完全可以实现。这个项目能帮你掌握图形界面、事件处理和基础逻辑控制。下面一步步带你完成。
1. 准备开发环境
确保你已安装以下工具:
-
• JDK(Java Development Kit),建议使用JDK 8或更高版本
• 一个代码编辑器或IDE,比如IntelliJ IDEA、Eclipse或VS Code
• 基本了解Java语法,如类、方法、循环和事件监听
不需要额外的库,使用Java自带的Swing就能做出界面。
2. 设计游戏基本结构
打地鼠的核心是:多个洞口,随机冒出“地鼠”,玩家点击得分。
立即学习“Java免费学习笔记(深入)”;
可以这样设计类:
-
• MoleGame:主窗口类,继承JFrame,管理整体界面
• MolePanel:游戏面板,继承JPanel,负责绘制按钮(代表洞)和逻辑
• 使用Timer控制地鼠出现的时间
• 用 JButton 数组表示9个地鼠洞
3. 实现关键功能
以下是核心逻辑的实现方式:
创建洞口按钮
buttons = new JButton[3][3];
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
buttons[i][j] = new JButton("");
buttons[i][j].setPreferredSize(new Dimension(80, 80));
add(buttons[i][j]);
}
}
随机显示地鼠
使用Java的Timer每秒随机点亮一个按钮:timer = new Timer(1000, e -> {
clearAll(); // 清除之前亮着的
int row = rand.nextInt(3);
int col = rand.nextInt(3);
buttons[row][col].setText("?"); // 显示地鼠
});
timer.start();
处理点击事件
给每个按钮添加点击监听,判断是否点中地鼠:buttons[i][j].addActionListener(e -> {
if (buttons[i][j].getText().equals("?")) {
score++;
scoreLabel.setText("得分: " + score);
clearAll();
}
});
4. 添加计分和游戏时间
可以加一个 JLabel 显示得分,再用另一个 Timer 控制游戏时长(比如30秒):
-
• 游戏开始时启动倒计时
• 每秒更新时间显示
• 时间到后弹出提示框,停止生成地鼠
例如:
countdown = new Timer(1000, e -> {
timeLeft--;
timeLabel.setText("剩余时间: " + timeLeft);
if (timeLeft <= 0) {
((Timer)e.getSource()).stop();
JOptionPane.showMessageDialog(this, "游戏结束!你的得分: " + score);
}
});
countdown.start();
基本上就这些。运行后你会看到一个窗口,地鼠随机出现,点击加分,时间结束游戏停止。
不复杂但容易忽略细节,比如清空按钮状态、防止重复点击等。多调试几次就能跑通。










