- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件开发设计报告5_12
《软件开发实践》
设计报告
项目名称: 打砖块小游戏
姓名 学号 工作量 何建清 2012141463199 80% 廖宇 2012141463001 20%
2014 年 5 月 4 日
目录
1.引言 1
1.1 开发目的 1
1.2 开发背景 1
1.3 参考资料 1
2.软件分析设计 1
2.1 游戏描述 1
2.1.1 对需求的支持 1
2.1.2 游戏目标 1
2.2 总体设计 1
2.2.1 游戏运行环境 1
2.2.2 游戏描述 1
2.2.3 游戏框架 1
2.3 模块设计 2
2.3.1 功能 2
2.3.2 算法 2
2.4 界面设计 3
2.5 代码设计 3
2.6 游戏素材展示 4
2.7 开发环境 5
3. 项目管理和保障 5
3.1 项目计划 5
3. 2 游戏使用说明 5
一、 引言
1.1 开发目的
软件开发实践课程项目结题报告
1.2 开发背景
项目概述
我们所做的项目是一款主要采用的编程语言为C、C++编写很简单但娱乐性很好的小游戏----打砖块。我们所设计的打砖块与传统的有相似之处。
1.3参考资料
《Visual C++游戏开发技术与实践》
《计算机游戏编程 --基础篇》
《游戏编程ALL IN ONE》
二、软件分析设计
2.1游戏描述
2.2.1 对需求的支持
满足基本的打砖块游戏体验。
2.2.2 游戏目标
开发一个可供学习交流的打砖块小游戏。
2.2总体设计
2.2.1 游戏运行环境
WindowsXp Windows 7 系统
Visual C++集成开发环境
2.2.2 游戏描述
本游戏是打砖块游戏,游戏规则如下:玩家拥有一个小球,当做自己的命。玩家 通过控制球板来防止小球落到游戏窗口底部,万一落到底部,小球就会消失,玩家也就输了。小球在球板和砖块直接反弹,小球碰到砖块,砖块就会被摧毁从而消失。摧毁一个关卡里的所有砖块,玩家顺利进入下一关。当玩家通过所有的关卡,游戏就胜利结束了。小球一旦碰到游戏窗口底部,游戏就失败结束。
2.2.3 游戏框架
2.3 模块设计
2.3.1 功能
开始游戏:即开始游戏
选择关卡:即选择游戏关卡,本游戏总共有三关供选择
退出游戏:即退出游戏
2.3.2 算法
碰撞检测
1、矩形和矩形进行碰撞检测算法
一般规则的物体碰撞都可以处理成矩形碰撞,实现的原理就是检测两个矩形是否重叠。我们假设矩形1的参数是:左上角的坐标是(x1,y1),宽度是w1,高度是h1;矩形2的参数是:左上角的坐标是(x2,y2),宽度是w2,高度是h2。在检测时,数学上可以处理成比较中心点的坐标在x和y方向上的距离和宽度的关系。即两个矩形中心点在x方向的距离的绝对值小于等于矩形宽度和的二分之一,同时y方向的距离的绝对值小于等于矩形高度和的二分之一。下面是数学表达式:
x方向:| (x1 + w1 / 2) – (x2 + w2/2) | |(w1 + w2) / 2|
y方向:| (y1 + h1 / 2) – (y2 + h2/2) | |(h1 + h2) / 2|
但是矩形碰撞只是一种比较粗糙的碰撞检测算法,因为很多实际的物体可能不是一个规则的矩形。
2、圆形和圆形的碰撞检测算法
圆形和圆形的碰撞应该说是一种最简单的碰撞,因为在数学上对于两个圆形是否发生重叠,有计算两个圆心之间的距离的公式。那么条件就变为:计算两个圆心之间的距离是否小于两个圆的半径和。假设圆形1的左上角坐标是(x1,y1),半径是r1,圆形2的左上角的坐标是(x2,y2),半径是r2。因为MIDP1.0中没有浮点数
文档评论(0)