超级玛丽JAVA小游戏详细设计文档
java超级玛丽游戏计算机毕业设计任务书
java超级玛丽游戏计算机毕业设计任务书毕业设计(论文)任务书第1页毕业设计(论文)题目:基于JAVA的超级玛丽的设计和实现毕业设计(论文)要求及原始数据(资料):1. 深入了解超级玛丽的游戏环境和可研究性;2(熟练掌握Java,html编程语言并能灵活运用;3. 设计实现游戏的功能模块;4 熟练地运行程序和修改程序;5. 对java环境有深入的研究;6(训练检索文献资料和利用文献资料的能力;7(锻炼自我完成论文的能力。
第2页毕业设计(论文)主要内容:1 详细了解基于java的超级玛丽游戏的功能与应用。
具体说明超级玛丽游戏的编写目的参照文献以及技术说明。
2 实现的简单功能是实现超级玛丽到水沟和食人花的上面时会使Mario死掉,跳跃的过程中可以顶破砖块等,实现原版游戏中的玛丽游戏的主要功能,游戏人物Mario可以根据玩家的操作进行移动和跳跃,在落到蘑菇人头上时会让蘑菇人死掉,落基本游戏要素3 包括具体的设计目的,游戏的功能需求,具体的功能模块,功能描述,程序的整体框架,程序的详细设计等等对设计java的超级玛丽游戏进行可行性研究的报告。
涉及到可行性研究的前提对现有系统的分析,所建议技术可行性的分析。
可行性研究的前提。
4 对java超级玛丽游戏进行概要设计和详细设计5 系统的设计和实现包括5.1开发工作5.2游戏素材管理5.3游戏场景布置5.4游戏用例图5.5游戏状态图5.6游戏例图6 对设计进行具体的总结。
7 参考文献8 致谢学生应交出的设计文件(论文):1(内容完整、层次清晰、叙述流畅、排版规范的毕业设计论文;2(包括毕业设计论文、源程序等内容在内的毕业设计电子文档及其它相关材料。
第3页主要参考文献(资料):1 夏人青,罗志敏,严军.中国大学生创业政策的回顾与展望(1999-2011),高教探索,2012(1):123~1282 王光亚. 手机下Java游戏开发概述,电子科学,2009(2):25~263 车战斌,韩玉民,刘安战. 高职Java手机游戏开发专业课程体系建设研究,职业教育研究,2012(2):44~454 丁峰,徐鹏,蔡月茹. 基于Java的Web应用概览,计算机世界,2004(1):124~127 5 籍炜. 基于Java的拼图游戏开发,学园,2013(5):1506 李德平. 基于JAVA的指纹考勤机统计软件的开发,清远职业技术学院学报,2012,5(3):34~397 Weirich S, Huang L. A Design for Type-Directed Programming in Java, ElectronicNotes in Theoretical Computer Science ,2005 .117~1368 迟伟雅. Java语言简介,电脑与网络,23~259 陈涵生. Java语言与Java技术,计算机工程,1997,27(5):3~610 J. Martinez-Llario,M. Gonzalez-Alcaide. Design of a Java spatial extension forrelational databases,The Journal of Systems and Software,2011 (84):2314~2323 11 张小红. 浅谈ORACLE中基于JAVA的存储查询优化,电子技术与软件工程,2013(5):200~20112 Claudia B, Stephan D. Educational and technical design of a Web-based interactivetutorial on programming in Java,Science of Computer Programming2004(53):25~36 13 吴越胜,李新磊等. Eclipse 3.0 程序开发技术详解,清华大学出版社, 2010: 13~15 14 吴亚峰,苏亚光等. 30天学通java项目案例开发,电子工业出版社, 2009: 153~190 15 唐大仕. JAVA程序设计第二版,清华大学出版社, 2003:1~1016 吕聃. 基于Java的在线考试系统设计与实现,吉林大学,学位论文,201217 尚蔚. 基于Java的多形式WEB视频监控系统的设计与实现,东华大学,学位论文,2010 18 强锋科技. Java开发利器: Eclipse从入门到精通,清华大学出版社, 2005: 24~111 19 宋全德. 基于Java的Madlib自动化测试框架,计算机系统应用,2014,23(2):28~35 20 (英)伊乐斯, 克里普斯著, 蔡黄辉, 马文涛译.架构实战—软件架构设计的过程,机械工业出版社, 2010: 42~76专业班级学生要求设计(论文)工作起止日期 2014年3月17日~2014年6月27日指导教师签字日期 2014年3月17日教研室主任审查签字日期系主任批准签字日期。
超级玛丽JAVA小游戏详细设计文档
无关,需要表示层调用定义好的接口与逻辑层的通信 数据持久层。保存游戏中的数据,载入游戏中需要的资源,与程序逻辑层无
关,用 XML 文档存储数据
2.7 程序的三层结构图
表现层(绘制屏幕)
逻辑层(程序的逻辑)
数 据 持 久 层 ( 数 据 存4储 )
不同的操作; 查询记录:查询五个最高游戏分数,排名由上往下递减。 游戏设置(包括音乐设置和按键设置):玩家可以设置游戏进行时的音乐开
或关以及修改相应的控制键。
2.6 程序的总体架构
本程序采用 3 层程序架构,业务表现层,业务逻辑层和数据持久层。 业务表现层。主要是游戏界面的绘制,通过指定的接口绘制,与游戏的逻辑
private void walk()
//人物走的动作
private boolean checkTileCollisionVertical() //检查与地图的纵
向碰撞
private boolean checkTileCollisionHorizon() //检查与地图的横
向碰撞
private void fire() //发射子弹
地图,以提高游戏的运行速度 5) 居于多线程,实现进度条
2.2 游戏功能划分
游戏的基本功能应该包括菜单处理,程序逻辑处理,持久性处理和挂起恢复处理。 关于菜单的处理,包括可以选择的进入游戏、保存、帮助和音效开关等。 程序的逻辑处理就是涵盖了程序中除菜单外几乎所有的功能。 持久性处理就是资源的载入和游戏的进度保存。
private boolean checkSpriteCollisionVertical() //检查纵向与
超级玛丽详细设计文档
超级玛丽详细设计文档目录1.导言 (3)1.1编写目的 (3)1.2项目范围 (3)1.3参考资料 (3)1.4缩写说明 (3)1.5术语定义 (3)2.功能需求 (4)2.1界面设计技术 (4)2.2游戏功能划分 (4)2.3功能划分的架构图 (5)2.4具体的功能模块 (5)2.5功能描述 (5)2.6程序的总体架构 (5)2.7程序的三层结构图 (6)3.面向对象设计 (7)3.1主要类图 (7)3.2各个模块的方法或类名类表示 (8)3.3地图绘制中的坐标说明 (8)4.程序的详细设计 (9)4.1主要人物玛丽的实现 (9)4.2核心类 (9)1.导言1.1编写目的该文档的目的是说明超级玛丽游戏的功能和设计方向、目标等描述游戏项目的整体框架的实现。
其主要内容包括:游戏项目的功能简介,接口设计,模块设计,界面设计。
本文档预期读者包括:项目管理人员,编程人员,数据库设计人员,美工,测试人员。
1.2项目范围该文档定义了游戏的模块,结构单元,但未确定单元的实现方法,这部分内容将在具体的代码设计中实现。
1.3参考资料《java语言程序设计》清华大学出版社郎波编著1.4缩写说明UML:Unified Modeling Language(统一建模语言)的缩写,是一个标准的建模语言。
1.5术语定义MIDP 2.0 定义:MIDP 2.0 也叫MIDP_NG,它的编号是JSR 118。
MIDP2.0 与1.0相比有很大提高,增加的特性包括:提供域安全模型,以允许对应用程序进行签名和论证;提供TCP、UDP网络接口;内置OTA;更好的用户界面;基本的声音API。
2.功能需求2.1界面设计技术1)选取和谐Q版的图片,使画面色彩和谐自然,配合动听的音乐渲染游戏气氛2)采用对话框方式,多功能窗口运行,固定窗口大小便于程序编写,键盘操作游戏角色。
3)使用低级用户界面,响应低级用户事件,不使用MIDP2.0GameAPI4)地图数据采用char类型,对每一个地图块的大小为16×16像素,采用单层地图,以提高游戏的运行速度5)居于多线程,实现进度条2.2游戏功能划分游戏的基本功能应该包括菜单处理,程序逻辑处理,持久性处理和挂起恢复处理。
超级玛丽详细设计文档
超级玛丽详细设计文档超级玛丽JA V A小游戏详细设计目录1.导言 ............................................................................................ 错误!未定义书签。
1.1编写目的 .................................................................... 错误!未定义书签。
1.2项目范围 .................................................................... 错误!未定义书签。
1.3参考资料 .................................................................... 错误!未定义书签。
1.4缩写说明 .................................................................... 错误!未定义书签。
1.5术语定义 .................................................................... 错误!未定义书签。
2.功能需求 .................................................................................... 错误!未定义书签。
2.1界面设计技术............................................................ 错误!未定义书签。
2.2游戏功能划分............................................................ 错误!未定义书签。
超级玛丽JAVA小游戏需求规格说明书
目录1.导言 (2)1.1编写目的 (2)1.2项目背景 (2)1.3参考资料 (2)2.任务概述 (2)2.1目标 (2)2.2开发环境 (3)2.3 运行环境 (3)3.功能需求 (3)3.1功能划分 (3)3.2功能描述 (3)4.面向对象设计 (4)4.1用例图 (4)4.2用例图叙述 (4)4.3顺序图 (6)4.4 活动图 (7)5.运行需求 (7)5.1用户界面 (7)5.2硬件接口 (7)5.3软件接口 (7)5.4故障处理 (8)6.其它需求 (8)6.1可扩展性要求 (8)7.签字 (8)1.导言1.1编写目的本需求规格文档的目的是说明超级玛丽游戏平台的功能和设计方向、目标,为全体开发人员进一步的设计和实现提供统一的依据。
本文档将供开发本游戏的团队成员查阅使用,其中包括:编程人员,数据库设计人员,美工,测试人员,用户。
1.2项目背景游戏,供给现在人们进行悠闲娱乐,在市场上占了很大的份额,所以编写一个适应多平台的游戏尤为重要。
超级玛丽作为一个经典的益智游戏相当的应景。
1.3参考资料《软件工程案例教程》机械工业出版社韩万江编著《Java课程设计案例精编》清华大学出版社张广彬孟红蕊张永宝编著2.任务概述2.1目标超级玛丽游戏是一款居于多种平台的游戏,目的是为用户提供一个轻便的游戏环境,随时可以pc中进行放松休闲娱乐。
2.2开发环境开发环境:Eclipse+window 7 +JDK1.6以上+Tomcat 5.0.28以上数据库:SQL2005以及以上2.3 运行环境软件环境:配置了JDK,支持java运行环境操作系统:windows xp/windows 7及以上硬件环境:客户机:普通PC数据库:SQL2005以及以上3.功能需求3.1功能划分游戏控制模块查询记录模块关卡选择模块游戏设置模块3.2功能描述玩家打开程序,在游戏菜单页面有四个选项。
1.关卡选择:选择已玩过的关卡进行游戏;2.开始游戏:从游戏的第一关进行游戏,玩家通过按键控制主人公马里奥进行不同的操作;3.查询记录:查询五个最高游戏分数,排名由上往下递减。
超级玛丽JAVA小游戏概要设计文档
目录1.导言 (2)1.1编写目的 (2)1.2项目范围 (2)1.3参考资料 (2)1.4缩写说明 (2)1.5术语定义 (2)2.任务概述 (3)2.1目标 (3)2.2开发环境 (3)2.3运行硬件环境要求 (3)3.功能需求 (3)3.1游戏功能划分 (3)3.2功能划分的架构图 (4)3.3具体的功能模块 (4)3.4功能描述 (4)3.5程序的总体架构 (4)3.6程序的三层结构图 (5)4.面向对象设计 (5)4.1用例图 (5)4.2顺序图 (6)4.3活动图 (6)4.4主要类图 (7)4.5各个模块的方法或类名类表示 (7)4.6地图绘制中的坐标说明 (8)5.运行需求 (8)5.1界面设计技术 (8)5.2硬、软件接口要求 (8)5.3故障处理 (9)6.其它需求 (9)6.1可扩展性要求 (9)1.导言1.1编写目的该文档的目的是说明超级玛丽游戏的功能和设计方向、目标等描述游戏项目的概要设计。
其主要内容包括:游戏项目的功能简介,接口设计,模块设计,界面设计。
本文档预期读者包括:项目管理人员,编程人员,数据库设计人员,美工,测试人员。
1.2项目范围该文档定义了游戏的模块,结构单元,但未确定单元的实现方法,这部分内容将在详细设计/实现中确定。
1.3参考资料《软件工程案例教程》机械工业出版社韩万江编著《J2ME手机游戏开发技术详解》清华大学出版社李振鹏龚剑编著1.4缩写说明UML:Unified Modeling Language(统一建模语言)的缩写,是一个标准的建模语言。
1.5术语定义MIDP2.0定义:MIDP2.0也叫MIDP_NG,它的编号是JSR118。
MIDP2.0与1.0相比有很大提高,增加的特性包括:提供域安全模型,以允许对应用程序进行签名和论证;提供TCP、UDP网络接口;内置OTA;更好的用户界面;基本的声音API。
2.任务概述2.1目标实现超级玛丽游戏的主要功能,主人翁可以吃到蘑菇变大,吃到花可以发射子弹,有的水管可以下去,可以踩到乌龟,可以顶破砖块,实现大家熟悉的基本功能。
超级玛丽--Java课程设计---精品管理资料
《面向对象程序设计》课程设计报告题目: 超级玛丽软件的设计与实现院(系): 信息科学与工程学院专业班级:计算机科学与技术1201班学生姓名: 程伟学号: 20121183011指导教师:吴奕20 14 年 12 月 29 日至20 15 年 1 月 9 日华中科技大学武昌分校制面向对象程序设计课程设计任务书目录1需求与总体设计 (5)1。
1需求分析 (5)1.2程序功能图 (5)1。
3程序类图 (6)2详细设计 (7)2。
1 MyFrame实现 (7)2.1.1窗体对象的序列图 (7)2.1.2 Myframe详细类图 (8)2.2 Mario实现 (8)2。
2.1 Mario对象的序列图 (8)2.2.2 Mario类图 (9)2。
3 Enemy类的实现 (10)2。
4 Obstruction类的实现 (11)2。
5 BackGround类实现 (11)3编码实现 (12)3。
1 MyFrame类的详细代码......................................................................................... 错误!未定义书签。
3。
2 BackGround类的详细代码................................................................................... 错误!未定义书签。
3.3 Mario类的详细代码............................................................................................... 错误!未定义书签。
3.4 Enemy类的详细代码............................................................................................... 错误!未定义书签。
超级玛丽java游戏课程设计
超级玛丽java游戏课程设计一、课程目标知识目标:1. 学生能够理解Java编程语言的基本语法和结构,掌握面向对象编程的基本概念。
2. 学生能够运用Java编程实现游戏界面设计、角色控制、碰撞检测等基本功能。
3. 学生了解游戏开发中的坐标系统和动画原理,并能够将其应用于超级玛丽游戏设计中。
技能目标:1. 学生掌握使用Java编写程序的方法,培养编程思维和解决问题的能力。
2. 学生能够运用面向对象的设计思想,设计出结构清晰、可维护性强的游戏代码。
3. 学生通过团队协作,学会使用版本控制工具,提高项目管理和团队协作能力。
情感态度价值观目标:1. 学生培养对编程和游戏开发的兴趣,激发创新意识和探索精神。
2. 学生在项目实践中,增强自信心,培养面对困难和挑战时的积极态度。
3. 学生通过团队协作,学会尊重他人意见,培养良好的沟通能力和团队精神。
课程性质:本课程为实践性较强的课程,结合Java编程语言和游戏开发技术,使学生能够在实际操作中掌握编程知识和技能。
学生特点:学生处于初中或高中年级,具有一定的计算机操作基础,对游戏开发感兴趣,具备一定的逻辑思维能力。
教学要求:课程注重理论与实践相结合,强调动手实践,引导学生通过自主学习和团队协作完成游戏设计项目。
在教学过程中,关注学生的个体差异,鼓励学生提问和分享,提高学生的综合素质。
通过课程学习,使学生在知识、技能和情感态度价值观方面取得具体的学习成果。
二、教学内容1. Java基础语法:变量、数据类型、运算符、控制流程(条件语句、循环语句)、数组等基本概念。
2. 面向对象编程:类与对象、构造方法、继承与多态、接口与实现等。
- 相关章节:课本第3章至第5章。
3. Java图形用户界面(GUI):Swing库的使用,窗口、标签、按钮、文本框等组件的创建与应用。
- 相关章节:课本第7章。
4. 游戏设计基础:- 坐标系统与动画原理:游戏中的坐标系,帧动画原理。
- 碰撞检测与角色控制:矩形碰撞检测,角色移动、跳跃等控制逻辑。
超级玛丽概要设计
Super Mario概要设计说明文档纂写人:李卫杰目录1.导言 (2)1.1编写目的 (2)1.2项目范围 (2)1.3参考资料 (2)1.4缩写说明 (2)1.5术语定义 (3)2.任务概述 (3)2.1目标 (3)2.2开发环境 (3)2.3运行硬件环境要求 (3)3.功能需求 (3)3.1游戏功能划分 (3)3.2功能划分的架构图 (4)3.3具体的功能模块 (4)3.4功能描述 (4)3.5程序的总体架构 (5)3.6程序的三层结构图 (5)4.面向对象设计 (5)4.1用例图 (5)4.2顺序图 (6)4.3活动图 (6)4.4主要类图 (7)4.5各个模块的方法或类名类表示 (7)4.6地图绘制中的坐标说明 (8)5.运行需求 (8)5.1界面设计技术 (8)5.2硬、软件接口要求 (9)5.3故障处理 (9)6.其它需求 (9)6.1可扩展性要求 (9)超级玛丽JAVA小游戏概要设计文档1.导言1.1编写目的该文档的目的是说明超级玛丽游戏的功能和设计方向、目标等描述游戏项目的概要设计。
其主要内容包括:游戏项目的功能简介,接口设计,模块设计,界面设计。
本文档预期读者包括:项目管理人员,编程人员,数据库设计人员,美工,测试人员。
1.2项目范围该文档定义了游戏的模块,结构单元,但未确定单元的实现方法,这部分内容将在详细设计/实现中确定。
1.3参考资料《软件工程案例教程》机械工业出版社韩万江编著《J2ME手机游戏开发技术详解》清华大学出版社李振鹏龚剑编著1.4缩写说明UML:Unified Modeling Language(统一建模语言)的缩写,是一个标准的建模语言。
1.5术语定义MIDP 2.0 定义:MIDP 2.0 也叫MIDP_NG,它的编号是JSR 118。
MIDP2.0 与1.0相比有很大提高,增加的特性包括:提供域安全模型,以允许对应用程序进行签名和论证;提供TCP、UDP网络接口;内置OTA;更好的用户界面;基本的声音API。
超级玛丽--Java课程设计
《面向对象程序设计》课程设计报告题目:超级玛丽软件的设计与实现院(系): 信息科学与工程学院专业班级: 计算机科学与技术1201班学生姓名: 程伟学号: 20121183011指导教师:吴奕20 14 年 12 月 29 日至20 15 年 1 月 9 日华中科技大学武昌分校制面向对象程序设计课程设计任务书目录1需求与总体设计 (5)1.1需求分析 (5)1.2程序功能图 (5)1。
3程序类图 (6)2详细设计 (7)2。
1 MyFrame实现 (7)2。
1.1窗体对象的序列图 (7)2.1.2 Myframe详细类图 (8)2.2 Mario实现 (8)2。
2.1 Mario对象的序列图 (8)2。
2.2 Mario类图 (9)2.3 Enemy类的实现 (10)2.4 Obstruction类的实现 (11)2.5 BackGround类实现 (11)3编码实现 (12)3.1 MyFrame类的详细代码........................................................................................... 错误!未定义书签。
3.2 BackGround类的详细代码..................................................................................... 错误!未定义书签。
3.3 Mario类的详细代码............................................................................................... 错误!未定义书签。
3。
4 Enemy类的详细代码............................................................................................. 错误!未定义书签。
java超级玛丽概要设计说明书
四、概要设计说明书1.引言 (2)1.1编写目的 (2)1.2项目背景 (2)1.3定义 (2)1.4参考资料 (2)2.任务概述 (2)2.1目标 (2)2.2运行环境 (2)2.3需求概述 (2)2.4条件与限制 (3)3.总体设计 (3)3.1处理流程 (3)3.2总体结构和模块外部设计 (3)3.3功能分配 (3)4.接口设计 (4)4.1外部接口 (4)4.2内部接口 (5)5.数据结构设计 (5)5.1逻辑结构设计 (6)5.2物理结构设计 (6)5.3数据结构与程序的关系 (6)6.运行设计 (6)6.1运行模块的组合 (6)6.2运行控制 (6)6.3运行时间 (6)7.出错处理设计 (6)7.1出错输出信息 (6)7.2出错处理对策 (6)8.安全保密设计 (7)9.维护设计 (7)1.引言1.1编写目的随着科学技术的发展,人们的生活水平的提高,然而也越来越繁忙。
在充满竞争的社会条件,压力往往带给人们很多烦恼。
为了给大家提供一个合理的解压平台,在本次课程设计中为大家开发了一款适合休闲解压的小游戏,超级玛丽。
1.2项目背景1.3定义1.4参考资料佘志龙《Google Android SDK开发范例大全》(第一版)人民邮电出版社2010.6.12.任务概述2.1目标完成基本的超级玛丽动作2.2运行环境运行在Android2.2的版本Android手机操作系统上。
2.3需求概述为了满足期待android版超级玛丽的玩家而制作此游戏。
此游戏要有操作方便,界面美观,内容丰富的特色,并且在后续要让游戏更加完善。
2.4条件与限制无限制3.总体设计3.1处理流程3.2总体结构和模块外部设计前进 后退 跳跃 吃花打怪物 吃蘑菇变大 顶金币加分系统控制时钟处理 物品结构 字体处理 跟踪打印 游戏逻辑 精灵结构 地理信息表 玩家控制3.3功能分配控制 功能游戏逻辑 玩家控制 系统控制 马里奥变大 √√吃花打怪物√√顶金币加分√√马里奥前进√√马里奥后退√√马里奥跳跃√√4.接口设计4.1外部接口4.1.1用户界面用户界面部分要在画质方面要强于经典版,风格继续保持原版本不变,只是人物和其他精灵的设计要符合更多现代人的喜好。
超级玛丽--Java课程设计
《面向对象程序设计》课程设计报告题目:超级玛丽软件的设计与实现院(系):信息科学与工程学院专业班级: 计算机科学与技术1201班****: **学号: ***********指导教师:**20 14 年 12 月 29 日至20 15 年 1 月 9 日华中科技大学武昌分校制面向对象程序设计课程设计任务书目录1需求与总体设计 (5)1.1需求分析 (5)1。
2程序功能图 (5)1。
3程序类图 (6)2详细设计 (7)2.1 MyFrame实现 (7)2.1。
1窗体对象的序列图 (7)2。
1.2 Myframe详细类图 (8)2。
2 Mario实现 (8)2。
2。
1 Mario对象的序列图 (8)2.2。
2 Mario类图 (9)2。
3 Enemy类的实现 (10)2。
4 Obstruction类的实现 (11)2.5 BackGround类实现 (11)3编码实现 (12)3。
1 MyFrame类的详细代码......................................................................................... 错误!未定义书签。
3。
2 BackGround类的详细代码................................................................................... 错误!未定义书签。
3.3 Mario类的详细代码............................................................................................... 错误!未定义书签。
3。
4 Enemy类的详细代码............................................................................................. 错误!未定义书签。
超级玛丽--Java课程设计
超级玛丽--J a v a课程设计(共17页)-本页仅作为预览文档封面,使用时请删除本页-《面向对象程序设计》课程设计报告题目:超级玛丽软件的设计与实现院(系):信息科学与工程学院专业班级:计算机科学与技术1201班学生姓名:程伟学号: 011指导教师:吴奕20 14 年 12 月 29 日至20 15 年 1 月 9 日华中科技大学武昌分校制面向对象程序设计课程设计任务书目录1需求与总体设计..................................................... 错误!未定义书签。
需求分析............................................................ 错误!未定义书签。
程序功能图.......................................................... 错误!未定义书签。
程序类图............................................................ 错误!未定义书签。
2详细设计........................................................... 错误!未定义书签。
MyFrame实现........................................................ 错误!未定义书签。
窗体对象的序列图.................................................... 错误!未定义书签。
Myframe详细类图.................................................... 错误!未定义书签。
Mario实现.......................................................... 错误!未定义书签。
超级玛丽java课程设计
《面向对象程序设计》课程设计报告题目:超级玛丽软件的设计与实现院(系):信息科学与工程学院专业班级:计算机科学与技术1201班学生姓名:程伟学号:20121183011指导教师:吴奕20 14 年12 月29 日至20 15 年 1 月9 日华中科技大学武昌分校制面向对象程序设计课程设计任务书目录1需求与总体设计 (6)1.1需求分析 (6)1.2程序功能图 (6)1.3程序类图 (7)2详细设计 (8)2.1 MyFrame实现 (8)2.1.1窗体对象的序列图 (8)2.1.2 Myframe详细类图 (9)2.2 Mario实现 (10)2.2.1 Mario对象的序列图 (10)2.2.2 Mario类图 (11)2.3 Enemy类的实现 (12)2.4 Obstruction类的实现 (13)2.5 BackGround类实现 (14)3编码实现 (14)3.1 MyFrame类的详细代码 ............................................................. 错误!未定义书签。
3.2 BackGround类的详细代码.......................................................... 错误!未定义书签。
3.3 Mario类的详细代码.................................................................. 错误!未定义书签。
3.4 Enemy类的详细代码 ................................................................ 错误!未定义书签。
3.5 Obstruction类的详细代码.......................................................... 错误!未定义书签。
超级玛丽游戏设计(java)
Java程序设计实验报告专业:嵌入式工程技术年级:2012姓名:黄泽康学号: 20125003指导教师:贺伟阿坝师专物理与电子科学系Java编程超级玛丽的游戏设计题目简介:本游戏是利用java语言在JCreator Pro和jdk的环境下,经过两个星期的编写与调试完成的一个超级玛丽游戏。
本游戏代码长度约3000行,编写过程中历经两个版本(V1.0 版大约2000行代码、V2.0 版大约3000行代码)。
V1.0版本用时一个星期,V2.0版本用时一个星期,此游戏操作简单、界面美观、功能基本较齐全。
整个游戏分功能类模块,约实现了超级玛丽游戏经典版的所有功能的 80%。
一、实验目的:1、熟悉类和了解如何创建类,对创建的类进行测试。
让我们更加了解学习面向对象设计的目的和作用;2、了解java面向对象编程设计与C语言、C++编程的区别;3、学会使用各种程序命令、了解各种包的作用和功能,从而设计图形界面等;4、掌握java面向对象中的各种使用语句;5、学会设计和编写简单的程序或游戏。
二、实验原理、要求及主要设计思想:原理:利用建立的各种类和包的调用来实现各自的作用,并且实现游戏编写的效果。
设计要求:实现一个简单的超级玛丽游戏程序的基本要求:①在二维平面里画出地图(道具、敌人等)、玛丽,根据超级玛丽的动作和高度在确定地图的高度,并且还要对人的动作进行设计,;②玩家能通过控制按键A左走、D右走、L大跳、J小跳、K发子弹等来控制玛丽的动作;③在游戏中添加声音效果,如:游戏进行的声音、玛丽吃金币的声音、玛丽撞墙的声音、玛丽发子弹的声音、玛丽死亡的提示音等等;④玛丽游戏界面上有文件(退出游戏、打开地图)、游戏(暂停、开始、新游戏)、工具(自定义地图)、帮助(关于、使用说明)的菜单,并且在每个子菜单上添加特定的标志;设计思路:1、首先设计游戏主界面、游戏界面上的控制菜单,控制菜单包括:文件、游戏、工具、游戏帮助。
文件、游戏等菜单又包含了以下子菜单:文件:单击打开地图,就可以选择已创建好的地图关卡;单击退出游戏,就直接退出整个游戏主界面。
超级玛丽详细设计文档
目录1.导言 (2)1.1编写目的 (2)1.2项目围 (2)1.3参考资料 (2)1.4缩写说明 (2)1.5术语定义 (2)2.功能需求 (3)2.1界面设计技术 (3)2.2游戏功能划分 (3)2.3功能划分的架构图 (3)2.4具体的功能模块 (4)2.5功能描述 (4)2.6程序的总体架构 (4)2.7程序的三层结构图 (4)3.面向对象设计 (5)3.1主要类图 (5)3.2各个模块的方法或类名类表示 (6)3.3地图绘制中的坐标说明 (6)4.程序的详细设计 (7)4.1主要人物玛丽的实现 (7)4.2核心类 (7)1.导言1.1编写目的该文档的目的是说明超级玛丽游戏的功能和设计方向、目标等描述游戏项目的整体框架的实现。
其主要容包括:游戏项目的功能简介,接口设计,模块设计,界面设计。
本文档预期读者包括:项目管理人员,编程人员,数据库设计人员,美工,测试人员。
1.2项目围该文档定义了游戏的模块,结构单元,但未确定单元的实现方法,这部分容将在具体的代码设计中实现。
1.3参考资料《java语言程序设计》清华大学郎波编著1.4缩写说明UML:Unified Modeling Language(统模语言)的缩写,是一个标准的建模语言。
1.5术语定义MIDP 2.0 定义:MIDP 2.0 也叫MIDP_NG,它的编号是JSR 118。
MIDP2.0 与1.0相比有很大提高,增加的特性包括:提供域安全模型,以允许对应用程序进行签名和论证;提供TCP、UDP网络接口;置OTA;更好的用户界面;基本的声音API。
2.功能需求2.1界面设计技术1)选取和谐Q版的图片,使画面色彩和谐自然,配合动听的音乐渲染游戏气氛2)采用对话框方式,多功能窗口运行,固定窗口大小便于程序编写,键盘操作游戏角色。
3)使用低级用户界面,响应低级用户事件,不使用MIDP2.0GameAPI4)地图数据采用char类型,对每一个地图块的大小为16×16像素,采用单层地图,以提高游戏的运行速度5)居于多线程,实现进度条2.2游戏功能划分游戏的基本功能应该包括菜单处理,程序逻辑处理,持久性处理和挂起恢复处理。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录1.导言 (2)1.1编写目的 (2)1.2项目范围 (2)1.3参考资料 (2)1.4缩写说明 (2)1.5术语定义 (2)2.功能需求 (3)2.1界面设计技术 (3)2.2游戏功能划分 (3)2.3功能划分的架构图 (3)2.4具体的功能模块 (4)2.5功能描述 (4)2.6程序的总体架构 (4)2.7程序的三层结构图 (4)3.面向对象设计 (5)3.1主要类图 (5)3.2各个模块的方法或类名类表示 (6)3.3地图绘制中的坐标说明 (6)4.程序的详细设计 (7)4.1主要人物玛丽的实现 (7)4.2核心类 (7)1.导言1.1编写目的该文档的目的是说明超级玛丽游戏的功能和设计方向、目标等描述游戏项目的整体框架的实现。
其主要内容包括:游戏项目的功能简介,接口设计,模块设计,界面设计。
本文档预期读者包括:项目管理人员,编程人员,数据库设计人员,美工,测试人员。
1.2项目范围该文档定义了游戏的模块,结构单元,但未确定单元的实现方法,这部分内容将在具体的代码设计中实现。
1.3参考资料《软件工程案例教程》机械工业出版社韩万江编著《J2ME手机游戏开发技术详解》清华大学出版社李振鹏龚剑编著1.4缩写说明UML:Unified Modeling Language(统一建模语言)的缩写,是一个标准的建模语言。
1.5术语定义MIDP 2.0 定义:MIDP 2.0 也叫MIDP_NG,它的编号是JSR 118。
MIDP2.0 与1.0相比有很大提高,增加的特性包括:提供域安全模型,以允许对应用程序进行签名和论证;提供TCP、UDP网络接口;内置OTA;更好的用户界面;基本的声音API。
2.功能需求2.1界面设计技术1)选取和谐Q版的图片,使画面色彩和谐自然,配合动听的音乐渲染游戏气氛2)采用对话框方式,多功能窗口运行,固定窗口大小便于程序编写,键盘操作游戏角色。
3)使用低级用户界面,响应低级用户事件,不使用MIDP2.0GameAPI4)地图数据采用char类型,对每一个地图块的大小为16×16像素,采用单层地图,以提高游戏的运行速度5)居于多线程,实现进度条2.2游戏功能划分游戏的基本功能应该包括菜单处理,程序逻辑处理,持久性处理和挂起恢复处理。
◆关于菜单的处理,包括可以选择的进入游戏、保存、帮助和音效开关等。
◆程序的逻辑处理就是涵盖了程序中除菜单外几乎所有的功能。
◆持久性处理就是资源的载入和游戏的进度保存。
2.3功能划分的架构图2.4具体的功能模块1)游戏控制模块2)查询记录模块3)关卡选择模块4)游戏设置模块2.5功能描述玩家打开程序,在游戏菜单页面有四个选项。
◆关卡选择:选择已玩过的关卡进行游戏;◆开始游戏:从游戏的第一关进行游戏,玩家通过按键控制主人公马里奥进行不同的操作;◆查询记录:查询五个最高游戏分数,排名由上往下递减。
◆游戏设置(包括音乐设置和按键设置):玩家可以设置游戏进行时的音乐开或关以及修改相应的控制键。
2.6程序的总体架构本程序采用3层程序架构,业务表现层,业务逻辑层和数据持久层。
◆业务表现层。
主要是游戏界面的绘制,通过指定的接口绘制,与游戏的逻辑分离。
◆业务逻辑层。
主要是游戏的人物和敌人的动作,碰撞的判断,这个与表现层无关,需要表示层调用定义好的接口与逻辑层的通信◆数据持久层。
保存游戏中的数据,载入游戏中需要的资源,与程序逻辑层无关,用XML文档存储数据2.7程序的三层结构图3.面向对象设计3.1主要类图3.2各个模块的方法或类名类表示3.3地图绘制中的坐标说明4.程序的详细设计4.1主要人物玛丽的实现public class MarioMainSprite extends LPSprite{public MarioMainSprite(MarioGameManage gm,LPMaps map){public void action() //重写基类private void spriteDeadAction() //玛丽死时的动作private void checkEnemyCollision() //检查与敌人碰撞private void mainSpriteDamage() //检查是否踩到敌人private boolean checkStaticSpriteCollision() //检查与静止不动的物品碰撞,private void judgeKeyCode(int keyCode,int gameKeyCode)private void freeKey(int KeyCode,int gameKeycode) //按键处理private void walk() //人物走的动作private boolean checkTileCollisionVertical() //检查与地图的纵向碰撞private boolean checkTileCollisionHorizon() //检查与地图的横向碰撞private void fire() //发射子弹private boolean checkSpriteCollisionVertical() //检查纵向与敌人碰撞private boolean checkSpriteCollisionHorizon() //检查横向与敌人碰撞private void checkBulletDamage() //检查子弹与敌人的碰撞public void init() //初始化private void changeUpSpriteState() //检查砖块上方是否有敌人public void readData(DataInputStream dis) //读取数据throws java.io.IOExceptionpublic void writeData(DataOutputStream dos) //保存数据throws java.io.IOException}}4.2核心类public class LPSprite{public int x; //横坐标public int y; //纵坐标public int frameCnt; //Sprite 的帧计数器public boolean isHidden; //Sprite 是否隐藏protected int timeCnt; //Sprite 的时间计数器protected int offset; //Sprite 的图片偏移public void action(){//Sprite 的动作}public void reInit(int x,int y) //重新初始化函数{this.x=x;this.y=y;isHidden=false;}public void writeData(DataOutStream dos) throws IOException //持久化操作接口、写数据、派生类重写时必须首先调用此函数{dos.writeInt(x);dos.writeInt(y);dos.writeInt(frameCnt);dos.writeBoolean(isHidden);dos.writeInt(timeCnt);dos.writeInt(offset);}public void readData(DataInputStream dis) throws IOException{x=dis.readInt();y=dis.readInt();frameCnt=dis.readInt();isHidden=dis.readBoolean();timeCnt=dis.readInt();offset=dis.readInt();}//地图绘制的实现public class LPMaps{public char mapArray[][];public int x;public int y;public int w;public int h;public int tileSize;public final LPImageManage image;public String mapId;public LPMaps(LPImageManage image,char array[][],int w,int h,int tileSize,String id){this.image = image;mapArray = array;this.x = 0;this.y = 0;this.w = w;this.h = h;this.tileSize = tileSize;mapId = id;}}//保存记录public class LPSaveRecord{private RecordStore rs;private String rsName;public LPSaveRecord(String name){rsName=name;try{if(existRecordStore(name)){rs=RecordStore.openRecordStore(name,false);}else{rs=RecordStore.openRecordStore(name,true);}}catch(RecordStoreNotFoundException e){System.out.println("Open Record Error");System.out.println(e.toString());}catch(Exception e){System.out.println(e.toString());}}public void addRecord(byte[] rec){try{rs.addRecord(rec,0,rec.length);}catch(Exception e){System.out.println("Add Record Error");System.out.println(e.toString());}}public void close(){try{rs.closeRecordStore();}catch(Exception e){System.out.println("Close Record Error");System.out.println(e.toString());}}public boolean IsEmpty(){try{if(rs.getNumRecords()>0){return false;}else{return true;}}catch(Exception e){System.out.println("Get Record Number Error"); System.out.println(e.toString());}return true;}public void SetRecord(int recordId,byte[] buffer) {try{rs.setRecord(recordId,buffer,0,buffer.length); }catch(Exception e){System.out.println("Set Record Error");System.out.println(e.toString());}}public byte[] getRecord(int recordId){byte buffer[];try{buffer=rs.getRecord(recordId);return buffer;}catch(Exception e){System.out.println("Get Record Error");System.out.println(e.toString());}return null;}public void removeAll(){try{rs.deleteRecordStore(rsName);}catch(Exception e){System.out.println("Remove All Record Error"); System.out.println(e.toString());}}private boolean existRecordStore(String recordName){boolean existRs=true;RecordStore rsTemp=null;try{rsTemp=RecordStore.openRecordStore(recordName,false); }catch(Exception e){existRs=false;System.out.println("Test Record Exist Error");System.out.println(e.toString());}finally{try{rsTemp.closeRecordStore();}catch(Exception e){System.out.println("Close Record Error");System.out.println(e.toString());}}return existRs;}}还有些代码还没有实现.....。