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

想用Java开发一个简单的打地鼠小游戏,初学者完全可以实现。这个项目能帮你掌握图形界面、事件处理和基础逻辑控制。下面一步步带你完成。
确保你已安装以下工具:
不需要额外的库,使用Java自带的Swing就能做出界面。
打地鼠的核心是:多个洞口,随机冒出“地鼠”,玩家点击得分。
立即学习“Java免费学习笔记(深入)”;
可以这样设计类:
以下是核心逻辑的实现方式:
创建洞口按钮
在MolePanel中创建一个3x3的按钮网格:<font>buttons = new JButton[3][3];</font><br><font>for (int i = 0; i < 3; i++) {</font><br><font> for (int j = 0; j < 3; j++) {</font><br><font> buttons[i][j] = new JButton("");</font><br><font> buttons[i][j].setPreferredSize(new Dimension(80, 80));</font><br><font> add(buttons[i][j]);</font><br><font> }</font><br><font>}</font>随机显示地鼠
使用Java的Timer每秒随机点亮一个按钮:<font>timer = new Timer(1000, e -> {</font><br><font> clearAll(); // 清除之前亮着的</font><br><font> int row = rand.nextInt(3);</font><br><font> int col = rand.nextInt(3);</font><br><font> buttons[row][col].setText("?"); // 显示地鼠</font><br><font>});</font><br><font>timer.start();</font>处理点击事件
给每个按钮添加点击监听,判断是否点中地鼠:<font>buttons[i][j].addActionListener(e -> {</font><br><font> if (buttons[i][j].getText().equals("?")) {</font><br><font> score++;</font><br><font> scoreLabel.setText("得分: " + score);</font><br><font> clearAll();</font><br><font> }</font><br><font>});</font>可以加一个 JLabel 显示得分,再用另一个 Timer 控制游戏时长(比如30秒):
例如:
<font>countdown = new Timer(1000, e -> {</font><br><font> timeLeft--;</font><br><font> timeLabel.setText("剩余时间: " + timeLeft);</font><br><font> if (timeLeft <= 0) {</font><br><font> ((Timer)e.getSource()).stop();</font><br><font> JOptionPane.showMessageDialog(this, "游戏结束!你的得分: " + score);</font><br><font> }</font><br><font>});</font><br><font>countdown.start();</font>基本上就这些。运行后你会看到一个窗口,地鼠随机出现,点击加分,时间结束游戏停止。
不复杂但容易忽略细节,比如清空按钮状态、防止重复点击等。多调试几次就能跑通。
以上就是初学者如何用Java开发小游戏打地鼠的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号