基于Java推箱子游戏的设计与实现
以下是资料介绍,如需要完整的请充值下载. 本资料已审核过,确保内容和网页里介绍一致. 密 惠
无需注册登录,支付后按照提示操作即可获取该资料.
无需注册登录,支付后按照提示操作即可获取该资料.
资料介绍:
摘 要
社会在进步,人们生活质量也在日益提高。高强度的压力也接踵而来。社会中急需出现新的有效方式来缓解人们的压力。此次设计符合了社会需求,JAVA推箱子游戏可以让人们在闲暇之余,体验游戏的乐趣。具有操作简单,易于上手的特点。
推箱子游戏的玩法十分简单——控制人物绕过障碍物,到达目的地。此次试验基于JAVA语言。将游戏地图做成通用的关卡设计,关卡用文本实现在文本文件里设置好关卡, 游戏核心模块中图片随机生成采用了数字和图片绑定,运用随机函数以及数组交换的算法,实现了游戏图片初始化状态,有效的解决了图片排布问题,方案简单易行。充分运用堆栈的存储特点实现悔棋功能。用迭代计算小人和箱子的移动,一个计算人是否能到达某一个格子 一个是计算箱子是否能到达相邻的某一个格子。舒缓的音乐配合有趣的步骤,相信能引起很多人的兴趣。作为一个具有悠久历史的游戏,也能够引起人的怀念和共鸣。
关键词 压力;游戏;JAVA;多功能
JAVA implementation of the Sokoban game
Abstract
Social progress, quality of life is also increasing. High-intensity pressure also follow. The emergence of new social urgently needed an effective way to relieve people's stress. This is designed to meet the needs of the community, JAVA Sokoban game allows people in her spare time, experience the fun of the game. With simple operation, easy to use features.
Sokoban game play is very simple - control the character around obstacles to reach the destination. The test is based on JAVA language. The game map made generic level design, checkpoints set up checkpoints to achieve with a text in a text file, the game core module uses a randomly generated digital images and pictures binding, using a random array of functions and algorithms exchange to achieve a game pictures initialization state, effectively solve the problem of picture arrangement, the program is simple. Make full use of the storage characteristics of the stack to achieve undo function. Mobile computing and boxes of iterative villain, a calculation whether one can reach a certain grid is to calculate whether a case can reach a neighboring lattice. Soothing music with interesting step, which will hopefully lead to a lot of people's interest. As a game with a long history, but also can cause people to miss and resonance.
Key Words Pressure; games; JAVA; multifunction
游戏需求
玩家是通过对小人的移动操作来控制推动箱子的,并且玩家需要避过障碍物以及死角,才能将其推放到指定位置从而达到过关的目的。如果玩家将箱子推入死角导致箱子无法移动或不能移动到指定位置则闯关失败,可以通过悔步或重新开始等操作来重新挑战本关。
游戏功能需求如下所示:
游戏界面需求:简洁美观的用户界面,可以带给用户自然清晰的画面。
游戏内容需求:良好的小人与箱子设计,可以给玩家带来更真实的感觉。小人需要前、后、左、右四张图片,移动中的箱子与终点上的箱子要所有区别,因此需要两不同的图片以示区别。
键盘处理事件:控制小人与箱子的移动,可通过键盘方向键(上、下、左、右键)对小人进行上、下、左、右的移动,并且能够推动箱子。
显示需求:当所有箱子都到达指定位置后即可过关,若进入死角则无法过关,需要进行悔步或重新开始的操作。可以由玩家喜欢选择关卡进行游戏。
系统功能模块
本程序包括5个模块,分别是初始化模块、画图模块、移动箱子模块、移动小 模块和功能控制模块,如图1所示。各个模块的功能描述如下:
(1)初始化模块。该模块包括屏幕初始化和游戏第一关的初始化。屏幕初始化用于输出欢迎信息和操
(2)画图模块。该模块主要是被其它模块调用,用于画墙、在空地画箱子、在目的地画箱子、画小人和画目的地。
(3)移动箱子模块。 该模块用于移动箱子,包括目的地之间、空地之间和目的地与空地之间的箱子移动。
(4)移动小人模块该模块用于控制小人移动,从而推动箱子到目的地。
(5)功能控制模块。该模块是几个功能函数的集合,包括屏幕输出功能、指定位置状态判断功能和关卡重置功能。
目 录
摘 要 i
Abstract ii
引 言 1
1 系统分析 2
1.1 技术可行性分析 2
1.1.1 可行性目的 2
1.1.2 可行性研究前提 2
1.1.3 算法可行性分析 2
1.1.4 平台选择 4
1.2 需求分析 8
1.2.1 引言 8
1.2.2 游戏需求 8
1.2.3 软硬件需求 9
1.2.4 接口控制 9
1.3 方案论证 9
1.3.1 C++语言的优点 9
1.3.2 JAVA语言的优点 10
1.3.3 C语言的优点 11
1.3.4 方案选择 13
2 概要设计 15
2.1 游戏设计分析 15
2.1.1 地图文件的引用 15
2.1.2 程序运逻辑 15
2.1.3 绘图 15
2.1.4 显示平台 15
2.2 注意事项 15
2.3 游戏流程图 16
2.4 函数模型 16
3 详细设计 20
3.1 游戏总体结构与代码 20
3.2 选关模块 21
3.3 地图的绘制形成 22
3.4 小人与箱子移动的算法 24
3.5 小人上下移动模块 26
3.6 悔棋模块 27
3.7 音乐控制 28
4 游戏测试 30
4.1 软件测试 30
4.1.1 软件测试简介 30
4.1.2 测试方法 30
4.1.3 测试步骤 31
4.2 游戏系统性能分析 31
结 论 32
参考文献 33
致 谢 34
原 文 35
翻 译 42