首页 > 编程语言 >基于java语言的点击方块小游戏

基于java语言的点击方块小游戏

时间:2024-09-05 22:22:11浏览次数:7  
标签:box java private 小游戏 import new 方块

游戏玩法

在这里插入图片描述
目标:玩家需要在限时内点击尽可能多的方块。
规则:游戏启动后,屏幕上会随机出现一个移动的方块;玩家点击方块得分,方块会重新随机出现在另一个位置;游戏限时为30秒,时间结束时显示总分。

代码

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.Random;
import java.util.Timer;
import java.util.TimerTask;

public class ClickBoxGame extends JFrame {
    private JButton box; // 方块按钮
    private JLabel scoreLabel, timeLabel; // 分数和时间显示
    private int score = 0; // 得分
    private int timeLeft = 30; // 剩余时间
    private Random random = new Random(); // 随机生成位置
    private Timer timer; // 计时器

    public ClickBoxGame() {
        setTitle("点击方块游戏");
        setSize(400, 400);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setLayout(null); // 手动布局

        // 创建计分显示
        scoreLabel = new JLabel("得分: 0");
        scoreLabel.setBounds(10, 10, 100, 20);
        add(scoreLabel);

        // 创建倒计时显示
        timeLabel = new JLabel("时间: 30");
        timeLabel.setBounds(300, 10, 100, 20);
        add(timeLabel);

        // 创建方块按钮
        box = new JButton();
        box.setBackground(Color.RED);
        box.setBounds(random.nextInt(300), random.nextInt(300), 50, 50);
        box.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                score++; // 点击得分
                scoreLabel.setText("得分: " + score);
                moveBox(); // 移动方块
            }
        });
        add(box);

        // 启动计时器
        timer = new Timer();
        timer.schedule(new TimerTask() {
            @Override
            public void run() {
                timeLeft--;
                timeLabel.setText("时间: " + timeLeft);
                if (timeLeft <= 0) {
                    endGame(); // 游戏结束
                }
            }
        }, 1000, 1000);

        setVisible(true);
    }

    // 移动方块到随机位置
    private void moveBox() {
        int x = random.nextInt(300);
        int y = random.nextInt(300);
        box.setBounds(x, y, 50, 50);
    }

    // 结束游戏
    private void endGame() {
        timer.cancel();
        box.setEnabled(false); // 禁用方块按钮
        JOptionPane.showMessageDialog(this, "游戏结束!\n总得分: " + score);
        System.exit(0); // 点击 "确定" 后结束程序
    }

    public static void main(String[] args) {
        new ClickBoxGame();
    }
}

标签:box,java,private,小游戏,import,new,方块
From: https://blog.csdn.net/C7211BA/article/details/141942156

相关文章

  • Java使用gdal更改shp要素的字段属性值
    文章目录前言一、GDAL和Java版本二、代码1.引入gdal,设置gdal环境2.修改要素属性值3.测试使用总结前言昨天实现了gdal对shp文件进行属性字段的重命名,Java使用gdal重命名shp属性字段。对于gdb的话也是类似的思路,只不过gdb有多个图层,以后有涉及到再写。今天试了下gda......
  • Java毕业设计基于SpringBoot的毕业设计管理系统(源码+文档+调试+讲解)
    文末获取资源,收藏关注不迷路文章目录项目介绍技术介绍项目界面关键代码目录项目介绍本论文主要完成不同用户的权限划分,不同用户具有不同权限的操作功能,在学生模块,主要有学生进行注册和登录,学生可以查看开题报告、中期检查、论文提交、论文指导、毕业答辩等,还能......
  • java LDAP 学习
    javaLDAP学习基础概念目录系统是关于某些类别的对象(例如人)的信息列表。目录可以用于查找特定对象的信息,也可以反方向查找满足特定需求的对象。企业中的员工通讯录就是一个目录系统。目录访问协议(directoryaccessprotocol)就是用来访问目录中数据的标准化方式。最广泛使用的......
  • 基于Java的考试报名管理系统的设计与实现(源码+LW+调试文档)
     目录:程序功能截图:程序部分代码参考:数据库sql:程序技术介绍:后端springboot介绍:mysql介绍:程序论文:​选择我的理由:程序获取:......
  • Java毕业设计基于SpringBoot的城市公交运营管理系统(源码+文档+调试+讲解)
    文末获取资源,收藏关注不迷路文章目录前言主要使用技术研究内容核心代码文章目录前言本论文主要完成不同用户的权限划分,不同用户具有不同权限的操作功能,在公交员模块,主要有公交员进行注册和登录,公交员可以查看公交调度、紧急上报、紧急调度、车辆状况等,还能修改......
  • 基于Java的图书借阅系统的设计与实现(源码+LW+调试文档)
     目录:程序功能截图:程序部分代码参考:数据库sql:程序技术介绍:后端springboot介绍:mysql介绍:程序论文:​选择我的理由:程序获取:......
  • Java毕业设计基于SpringBoot的图书管理系统(源码+文档+调试+讲解)
    文末获取资源,收藏关注不迷路文章目录前言主要使用技术研究内容核心代码文章目录前言该系统利用Java语言、MySQL数据库,结合目前流行的B/S架构,将图书管理的各个方面都集中到数据库中,以便于用户的需要。该系统在确保系统稳定的前提下,能够实现多功能模块的设计和应......
  • 基于Java的美容院管理系统的设计与实现(源码+LW+调试文档)
     目录:程序功能截图:程序部分代码参考:数据库sql:程序技术介绍:后端springboot介绍:mysql介绍:程序论文:​选择我的理由:程序获取:......
  • Java毕业设计基于SpringBoot的多媒体信息共享平台(源码+文档+调试+讲解)
    文末获取资源,收藏关注不迷路文章目录前言主要使用技术研究内容核心代码文章目录前言随着信息时代的来临,过去的武理多媒体信息共享管理方式缺点逐渐暴露,对过去的武理多媒体信息共享管理方式的缺点进行分析,采取计算机方式构建武理多媒体信息共享系统。本文通过阅读......
  • Java毕业设计基于SpringBoot的宠物服务中心小程序(源码+文档+调试+讲解)
    文末获取资源,收藏关注不迷路文章目录前言主要使用技术研究内容核心代码文章目录前言疫情爆发以来,越来越多的用户借助于移动手机、电脑完成生活中的事务,许多的传统行业也更加重视与互联网的结合。本论文探讨利用不断发展和进步的网络技术,实现对个人信息修改、用户......