Java 如何设计一款小游戏详细讲解(一)

news2024/11/17 15:26:53

目录

介绍

讲解

步骤一

步骤二

阶段(一)详细代码


介绍

注:这里是参考黑马程序员课程,其中图片也是直接拿的黑马程序员提供的图片

其中游戏的代码主要参考黑马程序员的课程,登录和注册主要由自己完成。

黑马素材放到这里自取

链接: https://pan.baidu.com/s/1u81xhH9_ygXS57bwRNfzQw?pwd=49dj 提取码: 49dj

编辑器:idea

java版本:java17

接下来我们主要设计一款拼图小游戏, 可以进行登入和注册的操作,效果如下

 


讲解

步骤一

 这里主要使用java GUI,因为对javaFX还是不太了解。

这里我们新建一个项目,叫做game2

 

然后再src目录下面,我们新建一个软件包这里叫做pulzzegame.ui

然后我们在软件包下面生成三个类,分别叫做GameJFrame、LoginJFrame、RegisterJFrame,因为我们接下来主要使用的是JFrame类。

 

步骤二

这里我们自己继承JFrame类,这样就会方便一些,不用在去new JFrame,这里以GameJFrame为例。

package pulzzegame.ui;

import javax.swing.*;

public class GameJFrame extends JFrame {
    public GameJFrame(){
        this.setTitle("拼图 v1.0"); //设置标题
        this.setAlwaysOnTop(true); //设置置顶
        this.setLocationRelativeTo(null); //设置居中
        this.setDefaultCloseOperation(3); //设置关闭后,也停止运行
        this.setSize(600,680); //设置页面宽和高
        this.setLayout(null); //取消默认的居中
        this.setVisible(true); //将界面显示出来
    }
}

 我们这里new GameJFrame看看,Main.java然后我们运行看看。

import pulzzegame.ui.GameJFrame;

public class Main {
    public static void main(String[] args){
        new GameJFrame();
    }
}

 


阶段(一)详细代码

 Java 如何设计一款小游戏详细讲解(二)  接下来查看这个

main.java

import pulzzegame.ui.GameJFrame;
import pulzzegame.ui.LoginJFrame;
import pulzzegame.ui.RegisterJFrame;

public class Main {
    //程序主入口
    public static void main(String[] args){
        new GameJFrame();
        //new LoginJFrame();
        //new RegisterJFrame();
    }
}

GameJFrame.java

package pulzzegame.ui;

import javax.swing.*;

public class GameJFrame extends JFrame {
    public GameJFrame(){
        this.setTitle("拼图 v1.0"); //设置标题
        this.setAlwaysOnTop(true); //设置置顶
        this.setLocationRelativeTo(null); //设置居中
        this.setDefaultCloseOperation(3); //设置关闭后,也停止运行
        this.setSize(600,680); //设置页面宽和高
        this.setLayout(null); //取消默认的居中
        this.setVisible(true); //将界面显示出来
    }
}

LoginJFrme.java

package pulzzegame.ui;

import javax.swing.*;

public class LoginJFrame extends JFrame {
    public LoginJFrame(){
        this.setTitle("登录"); //设置标题
        this.setAlwaysOnTop(true); //设置置顶
        this.setLocationRelativeTo(null); //设置居中
        this.setDefaultCloseOperation(3); //设置关闭后,也停止运行
        this.setSize(488,430); //设置长和宽
        this.setLayout(null); //取消默认的居中
        this.setVisible(true); //将界面显示出来
    }
}

 RegisterJFrame.java

package pulzzegame.ui;

import javax.swing.*;

public class RegisterJFrame extends JFrame {
    public RegisterJFrame(){
        this.setTitle("登录"); //设置标题
        this.setAlwaysOnTop(true); //设置置顶
        this.setLocationRelativeTo(null); //设置居中
        this.setDefaultCloseOperation(3); //设置关闭后,也停止运行
        this.setSize(485,480); //设置长和宽
        this.setLayout(null); //取消默认的居中
        this.setVisible(true); //将界面显示出来
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/160359.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Esp32】Spi接口驱动SX1268模块

【Esp32】Spi接口驱动SX1268模块1.硬件接线2. SX1268 模块的 SPI 时序分析3. 基于 ESP32 实现函数封装3.1 读寄存器3.2 写寄存器4. 实验结果日期: 2023-01-13 项目需要用乐鑫的 ESP32开发板驱动 Lora 模块,用的是 深圳SX1268ZTR4-GC的lora模块&#xff…

通行密钥,向无休止的修改密码说再见~

在上一期里《对称加密面临的那些挑战》中,我们提过密码,和多数人理解的不同,日常生活中用于保护账号安全的所谓“密码”,更贴切的称呼应该是“口令”密码。密码学中的密码,和我们日常生活中登录各类信息化系统所使用的…

Vue--》基于Vue的UI组件库,大家应该熟悉并会使用

目录 PC端UI组件库 Element UI IView UI 移动端UI组件库 Vant Cube UI Mint UI Nut UI UI组件库:它是设计系统的一部分,是在我们常规界面设计过程中可以直接用来制作交互图例和搭建页面的组件集合,它可以作为单个组件独立存在&#x…

Linux下的FrameBuffer驱动框架

一、RGB LCD经典显示器件介绍:1、LCD屏幕的重要属性参数:① 分辨率:也就是屏幕上的像素点的个数;② 像素格式:即单个像素点RGB三种颜色的表达方式,包括RGB888、ARGB8888和RGB565等。③ LCD屏幕硬件接口&…

全网最全的Linux中的内核级加强型火墙图文详解

目录 前言 一、Selinux的功能 二、Selinux的状态及管理 三、Selinux的安全上下文 四、SEBOOL 五、SEPORT 六、setrouble 前言 内核级加强型火墙主要是指系统中的selinux功能,该功能开启时,会对系统中的文件和程序产生影响,用户的…

SkyEye:针对飞行模拟器的仿真解决方案

01.飞行模拟器简介 飞行模拟器是一种由人工打造,能够尽可能真实地还原飞机飞行及空中环境的模拟系统,一般用于飞行员培训、飞机设计等工作。飞行模拟器能够模拟如何控制飞机飞行、模拟飞机应用系统的反应,还可模拟一些可能会对飞机系统造成影…

java图片压缩

1背景 查看各种文章,发现thumbnailator的压缩率和压缩效果都不错,thumbnailator又是使用java实现的,所以直接扒源码,找到了里面实现压缩的关键代码,封装成一个压缩工具类,有需要的同学可以参考。thumbnail…

Linux多线程Web服务器(C++实现)

本文实现的是基于Reactor模式epoll(边缘触发)非阻塞socket非阻塞IO线程池的Web服务器,可以处理GET、POST两种请求,完成展示主页、获取图片、获取视频、登录及注册共五种功能。原理图:上图为本文实现的服务器的原理图&a…

国产GPU芯片迎来突破,算力全球第一,中文编程也有好消息

苦,芯片久矣,终,迎来突破,实在振奋人心!最近,国产GPU芯片传来了好消息,国产自研首款通用芯片,以每秒千万亿次的计算能力,创全球算力记录,芯片领域实现跨越式的…

包体积优化 · 实战论 · 怎么做包体优化? 做好能晋升吗? 能涨多少钱?

“ 【小木箱成长营】包体积优化系列文章: 包体积优化 方法论 揭开包体积优化神秘面纱 包体积优化 工具论 初识包体积优化 BaguTree 包体积优化录播视频课 ”一、引言 Hello,我是小木箱,欢迎来到小木箱成长营系列教程,今天将分…

论文投稿指南——中文核心期刊推荐(农业工程)

【前言】 🚀 想发论文怎么办?手把手教你论文如何投稿!那么,首先要搞懂投稿目标——论文期刊 🎄 在期刊论文的分布中,存在一种普遍现象:即对于某一特定的学科或专业来说,少数期刊所含…

实战10:基于opencv的数字图像处理:边缘检测 (完整代码+详细教程)

给出“离散拉普拉斯算子”一般形式的数学推导 离散值的导数使用差分代替: 所以: 以(x, y)为中心点,在水平和垂直方向上应用拉普拉斯算子,滤波器(对应a=1的情况)为:

Spring Cloud Alibaba学习指南

文章目录背景介绍主要功能主要组件参考文档Spring Cloud Alibaba githubNacos官方文档Nacos运维手册Sentinel官方文档Spring Cloud Alibaba SentinelSeata官方文档Spring Cloud Alibaba 英语文档应用脚手架背景 由于在2018年Netflix公司宣布对其核心组件Hystrix、Ribbon、zuul…

远端连接服务器详解

昨天决定入手了一台腾讯轻量应用服务器,在连接的过程中遇到很多问题,浪费了很多时间,所以在这里对这些问题进行整理分享给大家!!!系统的安装OpenCloudOS是完全中立、全面开放、安全稳定、高性能的操作系统及…

JVM调优之GC日志分析及可视化工具介绍

JVM调优之GC日志分析及可视化工具介绍 文章目录JVM调优之GC日志分析及可视化工具介绍GC日志参数GC日志参数常用垃圾收集器参数GC日志分析日志的含义使用 ParNew Serial Old 的组合进行内存回收使用 Parallel Scavenge Parallel Old 的组合进行内存回收大对象回收分析日志分析…

药品溶出曲线数据库

药物在体外的溶出行为,可以用来预测体内的崩解、溶出和吸收情况,同时药物体外溶出行为能够在一定程度上反映出制剂的质量。而溶出曲线特别是不同溶出介质的多条溶出曲线,可更加全面、灵敏地反映出上述关键要素的变化。当药物溶出曲线中药物品…

电脑磁盘重新分配空间的简单步骤(无损数据空间转移)

目录 一、前言 遇到问题 解决方式 二、磁盘现状与实现目标 磁盘现状 实现目标 三、操作步骤 (一)关闭电脑磁盘加密 (二)下载安装分区助手 (三)分配空间教程 注意事项 磁盘空间移动成功 一、前…

芯片设计五部曲之二 | 图灵艺术家——数字IC

《芯片设计五部曲》:模拟IC、数字IC、存储芯片、算法仿真和总结篇(排名不分先后 上一集我们已经说了,模拟IC,更像是一种魔法。 我们深度解释了这种魔法的本质,以及如何在模拟芯片设计的不同阶段,根据常见的…

千万别乱用!Lombok不是万能的

背景 在使用Lombok构建无参构造器的时候,同事同时使用了Data和Builder,造成了编译不通过的问题! Data使用说明 Lombok的Data注解可以为我们生成无参构造方法和类中所有属性的Getter和Setter方法。这样在我们开发的过程中,我们就…

seaborn的调色板、刻度、边框、标签、数据集等的一些解释

文章目录前言数据集构建整体风格设置调色板x轴的刻度值设置sns.lineplot实例前言 seaborn是对matplotlib进一步封装的库,可以用更少的代码,画出更好看的图。 官网:https://seaborn.pydata.org/index.html 下面记录一下seaborn的基础用法 数…