Java Swing制作超简单版打地鼠小游戏

首先准备几个素材图片

需要图片等资源可加q群1005611884
JFrame画一个主页面,设置了全局的行、列和总数,循环添加所有的地鼠(将所有地鼠先隐藏)并注册点击事件

开一个线程用于地鼠显示的事件,生成随机数,显示一个随机位置的地鼠,等设置时间结束,如果没有改变就消失,如此循环执行

添加点击事件,打中地鼠,调用一个线程,执行地鼠消失的事件

所有代码如下:

import javax.imageio.ImageIO;
import javax.swing.*;
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.io.File;
import java.io.IOException;
import java.util.Random;

public class Demo extends JFrame implements Runnable {
    public JLabel bgLabel;//背景图片
    public JLabel[] mouses;//老鼠
    public JLabel jtf; //分数
    public int score;
    public Random random = new Random();

    public Demo() {
        //锤子
        Cursor myCursor = null;
        try {
    
  • 3
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
以下是一个简单Java地鼠小游戏代码示例: ```java import java.awt.*; import java.awt.event.*; import javax.swing.*; public class WhackAMole extends JFrame implements ActionListener { private JButton[] buttons; private JLabel scoreLabel; private int score; private int molesRemaining; private Timer timer; public WhackAMole() { super("Whack-a-Mole"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setLayout(new GridLayout(4, 4)); setSize(400, 400); score = 0; molesRemaining = 16; buttons = new JButton[16]; for (int i = 0; i < 16; i++) { buttons[i] = new JButton(" "); buttons[i].addActionListener(this); add(buttons[i]); } scoreLabel = new JLabel("Score: " + score + " Moles Remaining: " + molesRemaining); add(scoreLabel); timer = new Timer(1000, new ActionListener() { public void actionPerformed(ActionEvent e) { int randomButton = (int) (Math.random() * 16); buttons[randomButton].setText("M"); timer.setDelay((int) (Math.random() * 1000) + 500); } }); timer.start(); } public void actionPerformed(ActionEvent e) { JButton button = (JButton) e.getSource(); if (button.getText().equals("M")) { score++; molesRemaining--; } else { score--; } button.setText(" "); scoreLabel.setText("Score: " + score + " Moles Remaining: " + molesRemaining); if (molesRemaining == 0) { timer.stop(); JOptionPane.showMessageDialog(this, "Game Over! Final Score: " + score); } } public static void main(String[] args) { WhackAMole game = new WhackAMole(); game.setVisible(true); } } ``` 这个代码创建了一个 4x4 的按钮网格,其中每个按钮都有可能在随机时间内显示“M”(代表地鼠),玩家需要在出现后尽快点击按钮来“打地鼠”,每次打中会增加得分并减少剩余地鼠数量,每次未打中则减少得分,游戏结束时会弹出得分提示窗口。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

写代码赚钱买包包

你的鼓励是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值