基于JAVA的拼图游戏开发

来源 :科技尚品 | 被引量 : 0次 | 上传用户:cbg668
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:文章基于JAVA的拼图游戏开发进行设计,主要运用JAVA中绘制图形界面的Swing包进行拼图游戏界面设计,通过设计图片移动算法实现拼图游戏主体功能滑块移动的实现以获得图片按钮移动功能。在进行菜单功能设计时,使用了监听方法使得菜单按钮能够正常使用,并使用lang包中的异常处理类以及线程类进一步优化拼图游戏界面,最后提出了一些界面算法优化的问题。
  关键词:Swing包;拼图游戏;图片移动算法;lang包
  中图分类号:TP312 文献标识码:A 文章编号:1674-1064(2021)03-044-02
  DOI:10.12310/j.issn.1674-1064.2021.03.020
  拼图游戏的趣味源远流长[1]。拼图游戏深受大众喜爱,不仅有趣休闲,还能锻炼人的思维能力。随着计算机、手机的普及,人们已不再满足于线下拼图游戏。从玩家角度来看,线上拼图游戏不仅操作方便,而且可以通过提升游戏难度激起读者的挑战心。拼图游戏对儿童的成长十分有利,在娱乐游戏盛行的游戏市场,拼图等益智类小游戏似乎更适合儿童使用。从编程初学者来说,课堂上以做拼图游戏项目为中心进行有关JAVA的学习,更加吸引人,有利于提高学生的学习兴趣[2],进而对JAVA进行深入研究[3]。
  1 JAVA Swing简介
  其是用来设计界面的工具包,是对AWT包的扩展,组件以J开头,并且Swing界面在不同平台上的外观完全一样,真正做到了平台独立,可以用来对拼图游戏的图形用户界面进行设计[4-5]。
  2 拼图游戏的设计过程及功能验证
  2.1 拼图游戏设计流程
  首先,采用从整体到局部的面向对象设计方法,以拼图游戏软件功能为核心,对拼图游戏软件进行分析、设计、实现。
  其中,搭建游戏界面使用的是容器知识点,容器使用顶级容器和中层容器进行搭建。其次,使用布局进行界面划分,拼图需要把图分成等分的几部分。要使得拼图游戏能够进行,就必须使各个部分的图片发生交换,这时需要设计图片交换算法。
  最后,对功能部分进行设置。首先设置的就是菜单栏,以及菜单栏中的菜单项,包括菜单、菜单中的开始、结束、查看背景图片以及选择等五个按钮键。而在程序设计时,分四个部分写程序,分别为图片切割程序、顶级容器界面、中级容器界面、按钮界面。然后就是计算时间以及步数。计算时间以及步数需要用到线程知识,注意一下小细节,就是需要设置更换图片以及进行等级后清零的设置,拼图游戏设计流程如图1所示。
  2.2 拼图游戏界面设计
  首先进行整体面板布局。直接使用Jframe类下的setTitle()、setDefaultCloseOpearation()、setLocationRelativeTo()、setSize()、setResizable()方法分别设置窗口的标题、关闭图标、在屏幕的位置、窗口大小以及是否由用户更改窗口的大小。然后创建中间容器,添加到顶层容器内,再创建基本组件,添加到中间容器内。整体界面搭建好后,对游戏界面进行布局,此次拼图游戏采用网格布局GridBayLayout,即将中间容器设置为表格布局,然后设置按钮的图片背景,最后添加按钮组件至中间容器。
  其次,进行图片切割算法设计。使用图片切割方法cutImage,先创建相应的图片文件夹,放置原始图片至文件夹,然后调用方法,生成切割文件至相应目录。
  在进行图片移动算法设计前,先用random随机生成器随机打乱图片的顺序。先创建放置图片顺序的随机数组,根据随机数组生成图片位置,创建按钮组件,并为按钮设置图表,添加按钮组件至中间容器Jpanel。实现按钮组件的移动,根据拼图游戏的规则,就是点击空白按钮相邻的图片按钮,使得空白按钮和图片按钮发生交换。移动算法设计的步骤:
  按钮对象设计继承于JButton,使得其具有横纵坐标属性,主要用于判断空白按钮的周边按钮是否为邻近按钮;
  获得空白按钮的横纵坐标;
  获得点击按钮的横纵坐标;
  判断点击按钮是否与空白按钮相邻[6]。
  下一步进行菜单组件的绘制。首先创建菜单JMenu、菜单栏JMenubar以及菜单项JMenuItem,然后进行菜单各功能的设计。为了实现功能,对菜单和菜单项添加监听。
  最后一步在设置时间和步数的显示前,先对菜单栏的开始和结束按钮功能进行设计。开始按钮可获得设置的图片及难度级别,进行图片切割,然后为按钮设置监听。而结束按钮则是当所有按钮的坐标位置和随机数组的位置相符时,则拼图成功,游戏结束。时间和步数就是设置两个菜单项,然后对其进行线程设置,能够使其在开始游戏时进行执行。而在开始后,能够重置时间与步数[7]。
  2.3 拼图游戏功能实现及验证
  在进行拼图游戏的过程中,程序運行结果框中出现了图片的原始顺序,但是在移动滑块的时候,并没有根据算法的基本思路运行,而是未完成拼图就显示了“拼图完成”的消息框。原算法的思路如下:随机打乱图片顺序,然后移动图片滑块,当图片滑块的顺序与按钮的顺序相同时,即按钮的顺序是0~9,而图片滑块的顺序是乱序。当乱序变成顺序,与按钮顺序一一对应时,则表示拼图完成,如图2所示。
  在进行拼图游戏的过程中,时间与步数正常显示。
  选择另一个能够正常进行拼图游戏的代码进行算法思路比较。
  对比结果显示:数组维度的区别。
  点击“菜单”下的“背景”,则背景图片正常显示。
  点击“选择”,然后点击“图片更换”,最后点击“开始”,则此功能正常使用、无异常,并且时间与步数会清零。
  点击“选择”,然后进行“等级”切换,点击“开始”,切换正常,并且时间与步数正常清零。
  3 结语
  目前,对于拼图游戏的开发并不局限于JAVA,还包括各类语言如C#、matlab等,不过主要以JAVA为主。但是,JAVA在开发拼图游戏时还存在一些算法优化问题:判断游戏是否结束的算法,以及图片问题:图片大小根据窗口大小进行缩放。
  在开发JAVA的过程中,出现了必须要将窗口大小设置成图片大小的情况,当插入的图片大小不同时,怎么控制图片大小根据窗口大小进行调整呢?再者,判断拼图游戏完成的算法在思路上并未有什么问题,但是在实施的情况下,却出现了图片还未拼成原图就显示“拼图完成”的信息提示框。
  根据第二个问题,对比了一个拼图游戏开发的代码,发现两者的区别在于数组维度的区别,两者都是通过位置对比的算法进行判断拼图是否完成。而通过二维数组进行位置对比时,游戏能够正常识别出拼图是否完成。而一维数组却不能识别,甚至出现任意位置都可显示拼图完成。
  由于开发游戏时使用的是JAVA语言,所以这个拼图软件可以在很多平台上运行,比如PC端以及安卓系统等,在各个系统上都可兼容。
  参考文献
  [1] 宋爱新,桂鹏飞.基于MFC的数字拼图游戏设计与实现[J].智慧密集,2015(18):35-38.
  [2] 刘立云,赵慧勤.基于自主探究理念的拼图教育游戏的设计开发[J].数字社区,2017(20):70-71.
  [3] 余战秋.基于App Inventor的九宫格拼图游戏设计与实现[J].智慧密集,2017(18):34-36.
  [4] 苟雨晴,兰全祥.基于Java的拼图游戏设计与实现[J].电脑知识与技术,2019,2(15):45-47.
  [5] 秦鹏珍.基于Java的拼图游戏实现[J].电子技术与软件工程,2019(13),237-238.
  [6] 张国荣.拼图游戏APP的设计与实现[J].电脑知识与技术,2019,3(15):1009-3044.
  [7] 刘丹.基于Android的拼图游戏设计与实现[J].湖北理工学院学报,2019,6(35):2095-4565.
其他文献
摘 要:听障骨传导耳机的测试通常在实验室测试,无法在生产线上进行大批量测试,主要原因在于无法解决多套测试系统之间一致性的问题。针对此问题,文章研究了一套测试系统。该系统把加速度传感器作为校准器件,利用加速度传感器的出厂原始曲线基本一致这一特性,只要调节测试系统中得到的加速度曲线与出厂的曲线一致,就可认为测试系统的结果一致,从而解决多套测试系统之间的差异,便于测试系统进行复制,满足生产线进行批量测试
摘 要:采用便携式原子荧光光谱仪测定环境水样中的砷含量。在负高压、灯电流、载流浓度、载气流量等参数优化后,选择最佳的仪器条件,现场过滤、酸化环境水样后直接上机检测。0.5μg/L~8μg/L测定范围内,砷元素具有良好的线性关系,相关系数R=0.9999,实测检出限为0.0391μg/L,与国家环境保护标准要求相符合。该方法重复性良好,相对标准偏差为0.72%,砷元素加标回收率为93.3%~102.
摘 要:文章设计一种基于加速度传感器的人体运动状态数据采集与分析装置。文章通过三轴加速度传感器采集X、Y、Z轴加速度,预处理为合加速度并分析阈值。文章采集了样本为100的人体运动数据,并建立数据库,保证了采集实验数据的随机性,减小了误差。该装置能够采集人体运动时的三轴加速度并预处理为合加速度、确定阈值,经过算法的改良后,可投入健身类APP进行使用,在老年人健康监测等方面有着广阔的应用前景。  关键
摘 要:在语音同一鉴定案件中,自动语音识别方法逐渐被采用,但目前某些语音检材存在质量下降无法进行有效语音识别等问题。文章通过研究网络电话(VoIP)各特性因素(如语音编解码、数据包丢失、数据包乱序、网络抖动和外来串扰或回波),对自动语音识别系统(ASR)性能的影响做出系统分析。实验表明,数据包乱序对语音识别性能影响较小。相比LPCC特征,MFCC特征更加能够保证语音识别系统的鲁棒性。文章的研究结果
摘 要:近年来,在社会经济推动下,人们物质生活水平不断提高,各地建筑建造数量不断增加,人们对建筑结构、外观形状、施工质量等方面提出了新的要求。在建筑整体施工中,机电安装工程施工的作用逐步显现,机电安装工程施工成效在一定程度上影响这房屋建筑功能效果及施工质量。  关键词:房建机电;机电安装;施工管理  中图分类号:TU758 文献标识码:A 文章编号:1674-1064(
新时代的劳动教育,不仅是对于学生劳动素质及综合素质的培养,更为重要的是通过集体劳动的模式来发挥劳动教育对班集体的塑造价值。在基础教育体系中,劳动教育的功能是多重性的,劳动教育本身会给学生的身体素质、劳技能力带来直接好处;同时,学生在参与集体劳动的过程中思想品德也会得到熏陶,学生所在的班集体等各种类型的组织也得以通过这种形式紧密凝聚,让学生在良好的集体氛围中增强自身的团队荣誉感、团队责任感,培养创新
期刊