【河北工业大学城市学院毕业论文】基于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种图案成对出现

成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值