摘 要
社会在进步,人们生活质量也在日益提高。高强度的压力也接踵而来。社会中急需出现新的有效方式来缓解人们的压力。此次设计符合了社会需求,Java推箱子游戏可以让人们在闲暇之余,体验游戏的乐趣。具有操作简单,易于上手的特点。
推箱子游戏的玩法十分简单——控制人物绕过障碍物,到达目的地。此次毕业设计基于Java语言。将游戏地图做成通用的关卡设计,关卡用二维数组实现,在二维数组中设置值域来表示不同对象,运用二维数组的遍历算法来加载对应图片实现了游戏图片初始化状态。同时,通过初始化多个不同二维数组实现了游戏地图关卡的设计,方法巧妙且简单易行,有效的解决了图片排布问题。充分运用类和方法的调用来实现游戏关卡的初始化。用读取键值的方法判断游戏人物移动、停止、到达目的地。舒缓的音乐配合有趣的步骤,相信能引起很多人的兴趣。作为一个具有悠久历史的游戏,也能够引起人的怀念和共鸣。
关键词:Java;游戏;二维数组;算法;读取键值;栈
1.2.2 游戏需求
玩家是通过对小人的移动操作来控制推动箱子的,并且玩家需要避过障碍物以及死角,才能将其推放到指定位置从而达到过关的目的。如果玩家将箱子推入死角导致箱子无法移动或不能移动到指定位置则闯关失败,可以通过悔步或重新开始等操作来重新挑战本关。
能够显示主菜单和功能:游戏需要提供主菜单让玩家进行游戏设置,同时能能够把地图文件中的信息转换成为图像显示到主游戏界面上
能够实现键盘操作功能:能够接收到键盘输入的方向键信息,并根据不同的方向键把游戏任务移动到相应的位置,例如,当玩家单击方向键“上”时,如果向上的位置是可移动的,那么就当把游戏人物向上移动一个方格
能够把放置到位置上的箱子进行变色显示:当玩家把箱子推到指定位置的格子时,需要把这个箱子进行变色。这样就能明确地显示出该箱子是否已经放置到指定位置上
支持游戏扩展功能:玩家可以自己扩展原游戏地图文件,从而生成新的游戏地图
游戏胜负判断功能:在游戏中,当玩家把全部的箱子都推到箱子放置点时,玩家胜利通过当前游戏关口,进行下一关口的游戏,如果玩家无法将指定的箱子全部推到放置点时,玩家失败。玩家可以选择重新进行当前关口的游戏,还是退出游戏
支持关口选择功能:玩家在游戏中可自行选择需要挑战的关口
游戏提供支持背景音乐功能:通过主菜单,在游戏开始后,可以选择播放或者禁止播放背景音乐
本程序包括5个模块,分别是初始化模块、画图模块、移动箱子模块、移动小 模块和功能控制模块,如图1所示。各个模块的功能描述如下:
初始化模块:该模块包括屏幕初始化和游戏第一关的初始化。屏幕初始化用于输出欢迎信息和操
画图模块:该模块主要是被其它模块调用,用于画墙、在空地画箱子、在目的地画箱子、画小人和画目的地
移动箱子模块:该模块用于移动箱子,包括目的地之间、空地之间和目的地与空地之间的箱子移动
移动小人模块:该模块用于控制小人移动,从而推动箱子到目的地
功能控制模块:该模块是几个功能函数的集合,包括屏幕输出功能、指定位置状态判断功能和关卡重置功能
完整的源码和详细的文档,上传到了 WRITE-BUG技术共享平台 上,需要的请自取: