《基于android推箱子游戏的设计》开题报告
- 格式:doc
- 大小:192.50 KB
- 文档页数:6
《基于android推箱子游戏的设计》开题报告————————————————————————————————作者:————————————————————————————————日期:22011 届本科毕业设计(论文)开题报告题目基于Android的推箱子游戏的设计与实现学院计算机科学与工程学院年级2008 专业软件工程班级学号姓名指导教师职称工程师毕业设计(论文)基于Android的推箱子游戏的设计与实现题目一、课题来源、研究的目的和意义、国内外研究现状及分析(1)课题来源:指导教师拟题研究的目的和意义:推箱子是一款来自日本的古老游戏,其设计目的是训练人的逻辑思维能力。
游戏场景一般是设定在空间狭小的仓库中,要求把箱子摆放到指定位置.这就要求玩家巧妙的运用有限的空间和通道,合理的安排箱子的位置和移动次序才可能完成任务。
随着计算机游戏的发展,很多编程爱好者基于该游戏的思想开发了出各种版本、各种类型的推箱子.这其中也包括很多手机版本的实现,伴随着手机与计算机的普及,很快推箱子游戏便进入了千家万户(3)国内外研究现状及分析:Android是由Google为首的OHA(Open Handset Alliance)推出的一款开放的嵌入式操作系统平台,从2008推出的android SDK1。
0到现在,Android SDK的最新版本已经升级到了最新的2。
3,Android正以前所未有的速度聚集着来自世界各地的开发者,越来越多的创意被应用到Android应用程序的开发中,大有席卷整个手机产业的趋势。
说到Android系统,Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。
Android 的核心系统服务依赖于 Linux 2。
6 内核,如安全性,内存管理,进程管理,网络协议栈和驱动模型。
开题报告(1)研究的目的和意义Android 操作系统最初是由 Andy Rubin 制作,最初主要支持手机,在2005 年被搜索巨头 Google 收购注资,并组建开放手机联盟开发改良随后,逐渐扩展到平板电脑及其他领域上,2008年全球第一步安卓智能手机问世,标志着安卓的重生。
而在2011 年 11 月份的调查, android 智能机一跃超过苹果,以全球市场占有率76%,中国 90% 遥遥领先。
在安卓手机中以三星的GALAXY III系列为领头羊,领跑安卓手机最新科技。
当人类步入 21 世纪,随着科技的日趋发展,智能手机 ,平板电脑等高端电子产品进入了我们的日常生活,随着 3G 时代已经慢慢的融入了我们的日常生活,随着社会的进步和科技的发展手机已经从单纯的通讯工具转变为集娱乐,学习,通讯为一体的高端电子产品,随着诺基亚塞班系统的没落,安卓系统迎来了春天。
据市场调查,智能手机市场已经形成了二足鼎力的态势,安卓和苹果的 IOS作为领军者遥遥领先于 windows phone 系统。
同时各种 android 应用程序已经有了比较明朗的发展前景,尤其以手机游戏这个亮点受到广泛的关注和喜爱,正是由于android 拥有广大的用户群, android 手机游戏拥有巨大的潜力,它也主宰者手机游戏的未来,此次毕业设计顺应时代发展潮流,依托现在硬件上的优势,以 android 为平台,旨在玩家打造一款优秀的安卓小游戏,使玩家身临其境,爱不释手。
在安卓游戏的市场上,使得 android 手机游戏种类更加丰富多彩,为安卓手机游戏的发展做出贡献。
(2)国外同类研究的概况手机游戏种类和资源日益丰富,游戏界面越来越华丽,游戏规则日益复杂,已经具备了很强的娱乐性和交互性的复杂形态。
2003 年 10 月,Andy Rubin 等人创建了 Android 公司,google 公司于 2005 年 8 月17 日低调收购 android 以及其团队,Andy Rubin 成为 Google 公司 android 项目工程部副主任,,在三年后的 GoogleI/O 大会上谷歌提出 android HAL 架构图,同年九月,谷歌发布 android 1.0,这就是 android 的最早的版本,由于当时受到硬件技术的局限和3D 技术的不完善,以及 android 没有得到公众的认可,所以当时安卓手机游戏并没有得到良好的发展,没有进入人们的日常生活,仅仅只能做出原始的简单的小游戏 ,而且玩家也不是很多。
推箱子游戏一实训任务与要求本次实训是基于安卓系统上的一款游戏的开发——推箱子游戏。
要求我们对“推箱子游戏”进行分析、设计及编程实现。
本实训对实训项目已经作了较为详细的分析及相关知识讲解,通过实训,促使我们专业技能得到综合训练,让我们了解软件开发基本技术和工作过程。
同时,本实训中将会让我们了解图形界面设计基本技术。
二系统开发步骤根据软件开发一般有以下步骤,此款游戏开发步骤如下:1.问题定义2.可行性研究3.需求分析(需求分析阶段)4.总体设计5.详细设计6.编码及单元测试7.综合测试8.软件维护(安装调试阶段)其中1、2、3步可以整合为调研分析阶段,4、5、6、7步可以整合为项目实施阶段。
根据实际本次软件项目实训的实际情况,我们着重进行系统设计和编码实施。
该阶段主要工作有:1.游戏结构的总体设计决定系统的总体结构,包括整个系统分哪些部分,各部分之间有什么联系以及已确定的需求对这些组成部分如何分配等方面。
2.数据结构定义定义游戏中处理的对象——数据的基本结构、存储技术,定义数据处理流程。
3.详细设计对各功能模块的功能定义,说明模块之间的调用关系与接口(参数)。
4.编码及调试根据详细设计的要求,按照统一的要求和编码规范,用C语言编码实现,同时负责每个模块的独立调试。
5.综合测试游戏开发的后期是软件装配和综合测试。
游戏测试一般有专业的测试人员,同时通过发布使用试用版(体验版)等方式让用户体验、测试。
在多次测试改进后,才正式发布三游戏的基本信息1 游戏的名称:益智推箱子游戏2 出版商和作者:出版商:实训小组作者:赵虎刘文昊徐达李赫黄传云胡秋娜徐倩倩3 游戏的类型:益智小游戏4 价格:面议5 最少的硬件配置要求:硬件配置:CPU:≥Pentium III 600 内存:≥64MB 硬盘剩余空间:≥128MB 软件环境:javascrip,安卓虚拟机四概要信息1 游戏的简要概述:推箱子是一款经典的益智小游戏,目的是在训练人的逻辑思考能力。
推箱子程序设计与报告.doc推箱子是一款经典的益智游戏,我们本次设计的推箱子程序主要基于Java语言实现,通过使用IDEA开发环境以及JavaFX图形界面库,提供用户友好的交互界面,使得用户可以愉快地通过游戏锻炼自己的智力。
1. 总体设计推箱子需要先定义一些基本的数据结构,包括地图、箱子和人物。
对于地图而言,我们采用一个二维数组来表示,每个元素用数字来表示:0代表空位,1代表墙,2代表目的地。
对于箱子和人物的位置,我们同样采用二维数组表示。
其中0代表箱子或人物当前位置为空,1代表箱子或人物在该位置。
通过这三个数组,可以完整地表示游戏的基本状态。
2. 游戏规则游戏的基本规则如下:1)箱子、人物、目的地都是由矩形表示。
2)人物可以沿着地图上的通路走动,但不能与障碍物墙相交。
3)人物可以对着箱子推动箱子,但只能向前推,并且不能推到障碍物墙。
4)箱子只能单向推动,即只能向人物朝向的方向推动,并且只能顺着通路推动。
5)每一个箱子必须都推到一个目的地上,游戏才算成功过关。
3. 程序实现在代码实现上,我们采用Model-View-Controller架构,将游戏分为Model(模型)、View(视图)和Controller(控制器)三个部分。
Model主要处理游戏数据,包括游戏地图、箱子和人物的位置。
View则主要负责游戏界面的展示,包括游戏地图、箱子和人物的图形展示、以及用户交互界面的设计等。
Controller则主要负责调度Model和View之间的数据通信和相互交互。
4. 用户界面我们提供了以下用户交互界面:1)菜单:在菜单中,用户可以选择开始新游戏,或者退出程序。
2)选关界面:在选关界面中,用户可以选择所需的关卡。
3)游戏界面:在游戏界面中,实现了地图的显示、箱子和人物的移动、关卡完成情况的判断等功能。
5. 应用技术本次推箱子程序的开发采用了以下技术:1)Java语言编写2)JavaFX图形界面库3)MVC软件设计模式4)Git版本控制5)IntelliJ IDEA开发IDE6. 结论本次推箱子程序的开发成功实现了一款经典益智游戏的主要功能,同时也提供了用户友好的交互界面。
目录摘要 (1)Abstract (1)一、绪论 (3)(一)课题研究背景和意义 (3)(二)本课题发展现状 (3)二、游戏业务流程和设计方案 (3)(一)业务流程和功能介绍 (3)(二)概要设计 (4)(三)界面设计概要 (4)(四)机能概要 (5)(五)游戏界面设计 (5)(六)设计方案 (9)三、系统开发环境说明 (10)(一)Android的开发环境说明 (10)(二)开发环境 (10)四、程序设计说明及代码 (10)(一)游戏主要公共类的设计与实现 (10)(二)游戏主要功能类的设计与实现 (12)(三)游戏主要数据类的设计与实现 (19)(四)游戏主要设计类的设计与实现 (20)五、设计评价 (22)六、总结 (22)参考文献 (23)谢辞................................ 错误!未定义书签。
摘要如今,伴随着Google Android操作系统的盛行,基于Android SDK 的系统开发和基于Android应用的开发等已倍受大家关注。
但是目前基于Android游戏开发的市场还是不够成熟的,因而一款休闲娱乐、锻炼思维且适应于Android操作系统的游戏必将成为主流。
本课题是结合Eclipse SDK开发平台开发的一款基于安卓平台的推箱子小游戏。
该游戏主要分为初始化模块,界面模块,数据存储模块,功能模块及游戏控制模块。
玩家通过控制小乌龟的移动来推动箱子,将所有箱子都推到目的地从而过关。
每关的难易程度不同,可保持玩家对游戏的新鲜感,同时游戏还支持自定义编辑地图,玩家可以根据自身要求设计出更有创意、更富挑战的新地图。
本游戏不仅是适合各类人群休闲娱乐的活动,还有助于提高人们思考问题能力与想象力,改善思维方式,拓展思维。
关键词安卓,推箱子,休闲娱乐,拓展思维AbstractRecently, along with the prevalence of Google Android operating system, the public has immensely concerned on the development of applications that based on Android SDK systems and Android application. However, the Android game development market is stillimmature. Thus, an entertained and mental training game of Android operating system will indeed become the mainstream of application systems. This issue is a Sokoban game, which is developed for Android system and is invented based on the combination of Eclipse SDK development platform.The game is divided into initialization module, function module, game design module, game data module and function control module. Besides, in order to complete missions of the game, players have to control the movement of a turtle to push a box and to put all boxes into the right destination. Particularly, the difficulty of each level is separated differently, which maintain the freshness of the game and also support custom edit map. According to players’ requirement, the new map can be more creative and challenging. The game is not only suitable for all kinds of people for leisure time, but also can help people to expand imagination and to improve creative thinking.Key wordsAndroid, Sokoban game, recreation, creative thinking一、绪论(一)课题研究背景和意义本课题来源于一款来自日本的古老游戏——推箱子,其设计目的是训练人的逻辑思维能力。
推箱子游戏详细设计报告一、 引言在前一阶段(概要设计)中,已解决了实现该游戏需求的程序模块设计问题。
包括游戏模块间的关系设计,以及数据结构和模块结构的设计等。
在以下的详细设计报告中将对在本阶段中对游戏所做的所有详细设计进行说明。
本阶段依据概要设计的要求,确定应该如何具体地实现所要求的游戏,从而在编码阶段可以把这个描述直接翻译成用具体的 程序语言书写的程序。
具体包括各功能模块信息的录入和修改以及删除等。
1.2目的目的是在训练你的逻辑思考能力。
在一个狭小的仓库中,要求把木箱放到指定的位置,稍不小心就会出现箱子无法移动或者通道被堵住的情况,所以需要巧妙的利用有限的空间和通道,合理安排移动的次序和位置,才能顺利的完成任务。
可以开发青少年学生的智力,又可以防止老年痴呆症。
1.3参考资料《C 程序设计(第三版)》,谭浩强编,清华大学出版社《Turbo C 2.0实用大全》,常玉龙等编写,北京航空航天大学出版社 《C 语言趣味程序百例精解》,陈朔鹰 陈英主编,北京理工大学出版社 《C 游戏编程从入门到精通》,浦滨著, 北京希望电子出版社 《C 函数实用手册》,张曜 郭立山 吴天著, 冶金工业出版社 二、总体设计2.1需求概要用户在进入游戏后,可以根据自己的想法自由移动箱子,游戏提供自由选关的功能模块,凭借这些模块,玩家可以实现对游戏快速通关! 2.2软件各模块结构 1、初始化模块:该模块包括和游戏。
屏幕初始化用于输出游戏的操作提示,游戏的每一关的初始化是初始化模块每一关的初始化2、 图画模块:该模块主要是被其它模块调用,用于画墙、在空地画箱子、在目的地画箱子、和画目的地。
画墙画箱子画图模块 画小人画目的地目的地画箱子3、移动箱子模块:空地之间箱子的移动移动箱子模块 目的地之间箱子的移动 目的地与空地之间的箱子移动4、移动小人模块:小人移动移动小人推动箱子到目的地5、功能控制模块:屏幕输出功能功能控制模块 指定位置状态判断功能关卡重置功能三、程序描述1初始化模块○1:开始主要的初始化就是屏幕初始化,用于输出游戏的操作提示,使玩家能知道游戏怎么玩!○2:每一个关卡的初始化,在游戏不能通关时,按空格键回到刚开始玩这个关卡的初始状态以实现玩家能快速通关!○3:进行下一关的初始化,就是这一关已经通关,要进入下一关的游戏,使游戏显示下一关的初始状态!2图画模块这个模块的功能不是很多,也比较简单,主要就是:○1:画墙:用方块表示,画出墙的形状和大小,以确定该关卡的难度。
基于安卓推箱子课程设计一、课程目标知识目标:1. 学生能理解安卓编程基础知识,掌握推箱子游戏的基本逻辑与规则。
2. 学生能运用所学知识,设计并实现具有至少三个关卡的推箱子游戏。
技能目标:1. 学生能熟练运用安卓开发工具,完成界面设计与编程。
2. 学生能运用逻辑思维,编写解决推箱子问题的算法。
3. 学生能够进行团队合作,共同完成项目任务。
情感态度价值观目标:1. 学生通过课程学习,培养对编程的兴趣和热情,提高信息技术素养。
2. 学生在团队合作中,学会相互尊重、沟通与协作,培养解决问题的能力。
3. 学生能够认识到编程在现实生活中的应用,激发创新意识,培养创新精神。
课程性质:本课程为实践性较强的课程,通过项目驱动的教学方式,让学生在动手实践中掌握安卓编程知识。
学生特点:学生具备一定的编程基础,对新鲜事物充满好奇心,喜欢挑战性任务。
教学要求:教师需引导学生掌握编程知识,注重培养学生的实践能力和团队协作能力,关注学生在学习过程中的情感态度价值观的培养。
通过分解课程目标,将学习成果具体化,以便于教学设计和评估。
二、教学内容1. 安卓编程基础:变量、数据类型、运算符、控制结构、函数与对象等基本概念。
2. 用户界面设计:布局管理器、控件的使用与事件处理。
3. 游戏逻辑设计:推箱子游戏规则、地图设计、角色移动与箱子推动算法。
4. 项目实践:分组合作,设计并实现推箱子游戏,涵盖至少三个关卡。
5. 代码调试与优化:调试技巧、性能优化、异常处理。
教学大纲安排:第一周:安卓编程基础复习,导入项目需求,介绍游戏规则。
第二周:用户界面设计,学习布局管理器与控件使用,设计游戏界面。
第三周:游戏逻辑设计,编写角色移动与箱子推动算法。
第四周:项目实践,分组合作完成推箱子游戏设计与编程。
第五周:代码调试与优化,测试游戏性能,进行优化与调整。
教材章节关联:《安卓编程基础》第1-4章:涵盖安卓编程基础知识点。
《安卓用户界面设计与开发》第5-7章:介绍用户界面设计相关内容。
推箱子游戏设计报告书一、项目背景本实训要求对“推箱子游戏”进行分析、设计。
本实训对实训项目已经作了较为详细的分析及相关知识讲解,通过实训,促使专业技能得到综合训练,让我们了解软件开发基本技术和工作过程。
同时,本实训中了解图形界面设计基本技术。
通过本系统的开发,要了解软件开发的整个过程,掌握软件开发的基本方法,提前培养从事软件行业应具备的基本素质和能力,为以后的学习作一个铺垫。
二、设计目的本课程的课程设计实际是重在提升学生对程序的理解力和游戏界面的设计能力,进行的一次全面的综合训练,其目的在于加深动手能力以及对游戏设计思想的理解,掌握运用VB 开发应用程序的基本方法及基本技巧。
三、游戏介绍本游戏设计了关卡设计器对有难度进行设计,同时用方向键↑↓←→控制小人的移动,空格重新开始,回车选择下一关,page up 上一关,page down 下一关,Esc 退回。
小人移动来推箱子使箱子到达指定位置,如果箱子全部到达指定位置就表示过关3.1界面设计3.1.1界面设计原则:1用户帮助2向导3快捷键4鼠标与键盘对应5布局合理化6显示信息一致性7界面一致性8美观与协调性9合理性10规范性11易用性12一般交互13数据输入本游戏是一个简单游戏所以只涉及一些简单的界面设计原则.3.2用户界面又称人机界面,实现用户与计算机之间的通信,以控制计算机或进行用户与计算机之间的数据传送的系统部件。
GUI:即图形用户界面,一种可视化的用户界面,它使用图形界面代替正文界面。
本系统坚持图形用户界面(GUI)设计原则,界面直观、对用户透明。
用户接触软件后对界面上对应的功能一目了然、不需要多少培训就可以方便地使用本应用系统。
下面解释说明即为本游戏的简单标签设计3.3系统编码3.3.0编程设计原则:1、排版2、注释3、标识符命名4、可读性5、变量与结构6、函数与过程7、可测性8、程序效率9、质量保证10、代码编辑、编译与审查11、代码测试与维护由于本游戏是小游戏所以只需注重1、排版2、注释3、标识符命名4、可读性5、变量与结构6、函数与过程等方面就可以其余原则可忽略.3.3.1 API函数声明Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal X As Long, _ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC AsLong, _ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long3.3.2 全局常量Private Const MAXX As Integer = 20Private Const MAXY As Integer = 15Private Const SIZE As Integer = 302Private Const D_LEFT As Integer = 1Private Const D_RIGHT As Integer = 0Private Const D_UP As Integer = 2Private Const D_DOWN As Integer = 3Private Const B_GROUND As Integer = &H0Private Const B_DEST As Integer = &H1Private Const B_BOX As Integer = &H2Private Const B_WALL As Integer = &H4Private Const B_BACK As Integer = &H83.3.3全局变量Private Map(MAXX, MAXY) As IntegerPrivate ScenesCount As Integer, CurrScene As IntegerPrivate BoxCount As Integer, Completed As IntegerPrivate X As Integer, Y As Integer, Dir As IntegerPrivate FileNum As IntegerPrivate MapLoading As BooleanPrivate Playing As Boolean3.3.4 游戏开始//定义子函数,载入游戏.Private Sub Form_Load()Playing = FalseMapLoading = FalseInitGameEnd Sub3.3.5游戏初始化//FileNum代表工作区号,用FreeFile函数返回,载入游戏. 返回工作区文件尾号除以size Private Sub InitGame()FileNum = FreeFileOpen "Map.dat" For Binary Access Read As FileNumScenesCount = LOF(FileNum) / SIZEIf ScenesCount = 0 ThenMsgBox "没有可用的地图文件或文件格式出错," & vbCrLf & _ "请把可用的 Map.dat 文件和游戏放在同一目录。
推箱子项目设计报告1. 项目背景推箱子游戏是一种经典的益智游戏,玩家需要通过移动箱子将它们推到指定的位置,完成关卡。
这种游戏既能够开发玩家的空间思维和逻辑思维能力,又能够提升他们的耐心和毅力。
本项目旨在开发一款推箱子游戏,提供给用户进行娱乐。
2. 项目目标本项目的目标是设计并实现一款推箱子游戏,具体目标包括:1. 实现基本的推箱子游戏功能,包括角色移动、箱子推动、关卡设计等;2. 设计多个不同难度的关卡,供玩家挑战;3. 提供游戏分数计算和排行榜功能,让玩家可以比较自己在每个关卡的成绩。
3. 项目设计3.1 游戏界面设计游戏界面将采用图形化的方式呈现,使用2D画面。
界面主要由以下几部分组成:1. 游戏地图:用来展示当前关卡的地图布局。
2. 角色:用来表示玩家在地图上的位置。
3. 箱子:用来表示玩家需要推到指定位置的箱子。
4. 目标位置:用来表示箱子需要推到的目标位置。
3.2 关卡设计关卡将由固定的地图布局、起始位置、目标位置以及箱子位置组成。
地图布局采用二维数组的形式表示,每个元素表示一个地图块的类型,如墙、地板等。
通过设计多个不同的地图布局,可以实现多个不同难度的关卡。
3.3 角色移动玩家可以通过键盘或鼠标控制角色的移动。
在每个关卡中,玩家可以向上、下、左、右四个方向移动角色,并且判断是否能够移动。
如果角色前方有箱子,并且箱子的前方是可移动的地板,则玩家可以将角色和箱子一起移动。
3.4 箱子推动玩家可以将箱子向上、下、左、右四个方向推动。
在推动箱子之前,需要判断箱子前方是否是可移动的地板,以及是否有其他箱子或墙阻挡。
如果箱子的前方是可移动的地板,则可以进行推动。
3.5 游戏分数和排行榜每个关卡都会记录玩家完成关卡所用的时间和步数,根据时间和步数计算玩家的得分。
玩家可以查看自己在每个关卡的得分,并与其他玩家进行比较,以达到竞争和娱乐的目的。
4. 开发计划4.1 需求分析和设计阶段(1周)在这个阶段,我们将进行游戏需求分析,并进行游戏界面和核心功能的设计。