首页 > 编程语言 >【河北工业大学城市学院毕业论文】基于Java的连连看游戏的设计与实现

【河北工业大学城市学院毕业论文】基于Java的连连看游戏的设计与实现

时间:2024-06-15 18:33:45浏览次数:17  
标签:Java 游戏 登录 玩家 图案 模块 连连看 毕业论文 消除

注:仅展示部分文档内容和系统截图,需要完整的视频、代码、文章和安装调试环境请私信up主。

1.2 课题的研究意义及目标

有些游戏已经慢慢成为了人们消磨时间的工具。人们可以在工作的休息之余,或者无聊的时候玩会游戏打磨时间。小游戏在人们生活中扮演着非常重要的角色,它们可以帮助人们打发休闲时间,消除压力,锻炼大脑,增加乐趣。同时,小游戏也可以为不同年龄阶段的人们提供不同类型的游戏体验,从而满足人们的不同需求。例如,对于一些学生来说,像连连看这种益智类游戏可以帮助他们在学业方面表现更加出色,而对于白领阶层来说,玩些休闲娱乐类游戏,可以帮助他们在工作之余放松身心,提高工作效率。因此,设计一款有趣、适合不同年龄层次的小游戏,可以带给人们更多的精彩体验。

连连看的玩法简单上手,只要按照路径把相同的图案连接起来就能消除。在里面加入了关卡和难度,不仅增加了游戏的难度,同时增强了游戏的技巧性,竞技性,同时画面加入了各种元素,使玩家有一个良好的观感,为玩家提供优质的游戏体验。

1.3 课题的研究内容

基于Java的连连看游戏的设计与实现只有玩家一类用户。本游戏主要由玩家登录后进行关卡选择,可以开始游戏。具体功能分析设计如下。

1.玩家

(1)登录,注册。

(2)关卡选择。一共10关,难度逐步递增。

(3)返回,返回后再选择当前关卡可实现一键刷新游戏,打乱所有图像的顺序。

(4)背景音乐。一个舒服的背景音乐可以让玩家更惬意的享受游戏。

(5)计时。一共20s的时间,每成功消除掉一组图案,时间恢复到20s,期间未消除掉图案,则时间继续倒计时。

(6)计分。每成功消除掉一组图案可以加两分,每一关的图案数量都不一样,越往后得的分约多,能激起玩家的好胜心。

3.2 事件处理机制

除了友好的图形用户界面,流畅的人机交互也是必不可少的要素。在游戏过程中,准确而有效的对游戏动作进行反馈会为玩家提供非常好的游戏感受。所以来说,手机游戏研发中的技术和其他技术具有同等的重要性,是一款产品需要的技术。Java的事件处理机制可以带来优秀的交互。

在Java中,事件驱动编程是一种重要的编程模式。Java中的事件处理机制主要包括事件、事件源和事件监听器等几个重要概念。事件指的是一种情况的变化或者事情的产生,可以分为组件型事件和动作型事件。事件源指的是产生事件的对象,而事件监听器则是通过监听事件源的类型,使用事件处理器,并进行检查和处理事件的对象。事件监听器接口和事件监听器适配器是处理事件的重要工具,它们需要实现特定的接口来完成相应的任务。而事件数据处理器则是一个重要的事件处理工具,它可以获取事件消息并进行处理。

4 游戏概要设计

4.1 游戏流程分析

首先是登录,在登录流程中,用到Java Swing中的面板,用于显示登录界面,在这个面板中,使用了null布局,首先创建了一个标题,接着创建了标签和对应的文本框,分别用于输入用户名和密码。最后,创建了一个隐藏的名字文本框和标签,这些元素一开始不可见,但在需要填写名字时可以用来输入。如图4-1所示:

4.2 游戏功能模块分析

游戏按布局模块分完之后,游戏分为两个主要部分。游戏界面的第一部分是显示模块,根据布局分为键盘功能模块和控制模块。第二部分是处理模块,它必须满足用户的需求和功能需求,以便进行需求分析。如图4-3所示。

操作模块是游戏中与玩家交互的主要模块,它由有序的jbutton组成,每个jbutton都显示一个图像。在游戏中,玩家需要使用鼠标来与游戏系统进行交互,通过点击按钮来消除游戏中选定的屏幕。当玩家点击按钮组件时,事件监视器将接收并处理事件,并生成操作反馈。这种反馈机制可以帮助玩家更好地理解游戏并且更容易地完成任务[4]。

功能键模块是游戏中辅助交互的模块,主要由JButton组件、下拉列表、JLabels以及其他执行游戏功能的控件组成。在该布局中,除了倒计时功能,所有组件都需要由鼠标来控制,每个组件都需要有适当的事件和响应监视器。该模块的设计旨在提供更多的游戏功能和控制,使玩家更好地参与游戏并享受游戏乐趣[5]。

游戏的主要功能分为一个模块:处理模块。该模块提供了一些功能,包括操作功能、时间功能、命令提示功能等。开发了以下模块:

(1)图像处理模块:图像处理模块是游戏中用于处理图像资源的模块。在启动程序后,该模块会对资源文件中提供的图像进行排序和初始化游戏布局,以及重新启动游戏和刷新游戏。该模块的主要作用是管理游戏中使用到的图像资源,以实现游戏的正常运行和顺畅的游戏体验。

(2)响应模块:响应模块可分为两类。第一类是操作模块中JButton的响应,主要指玩家点击按钮时所触发的响应,即消除游戏屏幕上特定图案方块的功能。第二类是功能键重要模块中每个组件的响应,主要指功能键模块中的组件响应,如下拉列表、Jlabels等组件的响应[6]。

(3)计时模块:倒计时结束显示提示。

(4)消除模块:该模块通常会包括一个用于存储当前已选中的方块列表的数据结构,比如数组或链表。当玩家选择两个方块时,程序会判断这两个方块在位置上是否相邻,以及颜色或图案是否相同。如果两个方块满足消除条件,则程序会调用相应的处理函数进行消除操作。这种判断操作可以通过复杂的算法来实现,以确保游戏的平衡性和挑战性,同时保持足够的可玩性[7]。

5.1 登录功能的实现

首先运行连连看游戏,之后会显示出本游戏的登录界面,这是进入游戏的初始页面“登录”,能成功进入到该登录界面则代表游戏的开启是成功的,接下来就可以操作本游戏所带有的其他所有的功能[8]。这是一个LoginPanel的类,主要用于构建一个用户注册和登录的面板,包括输入用户名、密码和名字信息的文本框,以及“登录”和“注册新用户”的按钮。登录界面如图5-1所示。登录信息具体解释如下:

同函数创建一个JSON格式的文件,名为"user.txt",并将一个数组添加到其中。这个数组里包含一个JSON对象,这个JSON对象包含了一些用户信息,包括用户名、密码和姓名。函数首先创建一个JSONArray对象array,并遍历User列表中的每个用户,将他们的username、password、name信息添加到一个新的JSONObject对象user中,并将user放入JSONArray中。最后,将该JSONArray对象添加到一个新的JSONObject对象obj中,并将obj写入文件user.txt中。

5.3游戏功能的实现

游戏界面的细节不容忽视。游戏一经推出,第一次受到好评和欢迎,这不仅取决于游戏在操作上的表现,还取决于游戏界面的美学表现。游戏以条形模式运行,接口必须满足需求分析中描述的简单、清晰的要求,以确保数据存储的安全可靠。游戏素材由两种类型的图像组成,一种是背景图像,另一种是游戏操作模块中显示的游戏图像。在选择背景图像时,考虑到游戏界面的简单性,选择白色背景图像[11]。如图5-3所示。

6.1 功能测试

消除功能测试:相同图案可以消除,不同的图案不能消除,符合路径的直线连接、单拐点连接、双拐点连接都能够消除。测试结果如表6-1所示。

表6-1消除测试

用例序号

测试数据

期望结果

测试结果

Test1

点击两个相邻且相同的图案

能够消除

成功

Test2

点击两个相邻但不相同的图案

不能消除

成功

Test3

符合路径的相同图案的直线连接

能够消除

成功

Test4

符合路径的相同图案的单拐点连接

能够消除

成功

Test5

符合路径的相同图案的双拐点连接

能够消除

成功

游戏关卡测试:每一关行列数都不一样,图案种类也不一样,且都成对出现,多次试验与预期结果一致,游戏平稳运行,符合测试要求。测试数据如表6-2所示。

表6-2关卡测试

用例序号

测试关卡

期望结果

测试结果

Test1

第一关

5种图案成对出现

成功

Test2

第二关、第三关

6种图案成对出现

成功

Test3

第四关、第五关

7种图案成对出现

成功

Test4

第六关、第七关

8种图案成对出现

成功

Test5

第六关、第七关

9种图案成对出现

成功

Test6

第十关

10种图案成对出现

成功

标签:Java,游戏,登录,玩家,图案,模块,连连看,毕业论文,消除
From: https://blog.csdn.net/yvonneking1118/article/details/139686481

相关文章

  • 基于Java实现的坦克大战小游戏
    选题目的和意义:    随着人们精神文化生活的日益丰富,为了让我们在闲暇的时间多方面发展个人的兴趣爱好,为了更好地开发个人智力,游戏成为人们生活中不可缺少的一部分。游戏产业促动高科技技术不断升级,作为经济增长的一大支撑点,已经成为经济腾飞的“第四产业”。作为休闲游戏......
  • idea中给java程序传启动参数的说明
    一、idea中给java程序传启动参数的说明在idea中运行java程序时可以传递三种类型的参数:vm参数,环境变量参数,程序参数publicclassMyTest{publicstaticvoidmain(String[]args){//获取vmoptions传递的参数Stringparam1=System.getProperty("v......
  • 小吴讲故事之假如我有100w(java生成pdf文档,一页A4多条数据)
    故事背景各位码农们好!我是在社会接受练习时长2年半的java练习生,大家也可以叫我小卡拉米吴!最近在项目中遇到一个需求,就是有关于pdf文件生成的,具体需求如下。到了小卡拉米吴讲故事的时间了:事情是这样的。小吴是一名普通的码农,和野原广志一样,但不是小组长,生活除了工作就是回......
  • java设计模式之-工厂模式
    工厂模式是一种创建对象的设计模式,它通过将对象的实例化过程封装在一个工厂类中,从而实现对象的创建和使用的解耦。它属于创建型模式的一种,可以帮助我们更加灵活地创建对象。工厂模式主要解决的问题是在对象的创建过程中,如果直接在代码中使用new关键字来创建对象,会导致代码的耦合......
  • Java——变量作用域和生命周期
    一、作用域1、作用域简介在Java中,作用域(Scope)指的是变量、方法和类在代码中的可见性和生命周期。理解作用域有助于编写更清晰、更高效的代码。2、作用域块作用域(BlockScope):块作用域是指在大括号{}内定义的变量的作用域。变量只在其定义的块内可见和有效,包括循环、条件......
  • java1
    在继承中,创建子类对象,访问成员方法的规则: 创建的对象是谁,就优先用谁,没有再向上找 注意:无论是成员变量还是成员方法, 如果没有都是向上找父类,不会向下找子类继承的特点:子类可以拥有父类的内容,此处子类还可以拥有自己独有的内容(成员变量和方法) 定义继承的格式:(至少需要......
  • 第六站:Java橙——JavaFX的动感舞台
    JavaFX入门案例:创建一个基础UI应用JavaFX允许开发者使用Java语言来设计和实现富客户端应用程序,这些应用程序具有高度互动的用户界面(UI),支持2D和3D图形,以及媒体播放等特性。下面,我们将通过一个简单的案例来展示如何使用JavaFX创建一个基本的UI应用,包括UI设计、构建场景图、......
  • 认识 Java 里的线程和方法
    Thread和Runnable的区别Thread才是Java里对线程的唯一抽象,Runnable只是对任务(业务逻辑)的抽象。Thread可以接受任意一个Runnable的实例并执行启动线程的方式有:1、XextendsThread;,然后X.start2、XimplementsRunnable;然后交给Thread运行永远都只有thread.star......
  • Linux下Java环境安装
    Linux下open-jdk1.8安装教程一.下载安装包Javadownload下载后上传到服务器二.安装1.解压安装包tar-zxvfjdk-8u341-linux-x64.tar.gz2.配置环境变量在/etc/profile文件中,新增Java的环境变量vi/etc/profileexportJAVA_HOME=/usr/local/jdk/jdk1.8.0_341export......
  • Java接口的介绍与使用,多态的介绍与使用
    第一章.接口1.接口的介绍2.接口的定义以及使用1.接口:是一个引用数据类型,是一种标准,规则2.关键字:a.interface接口publicinterface接口名{}b.implements实现实现类implements接口名{}3.接口中可以定义的成员:a.jdk7以及之......