- 1、本文档共18页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
北京科技大学小学期C实践报告
北京科技大学
计算机应用实践报告
机房名称????逸夫楼803
时 间?2015年7月6日至7月24日 (下午)
学 院 机械工程
专业班级???? ??
姓??名???? ??
学??号?????
指导教师?
成 绩???????
2015年 7月
计算机应用实践报告 经过大一下学期对 C++语言的学习,我们已经对这种编程语言有了初步的了解。在本次课程设计中,运用 C++语言完成实践设计,不但使我们回顾了从前的学习内容,又让我们了解了 C++语言在现实生活中应用的范例,通过自己的双手编写出游戏程序是一种妙趣横生的过程,让我们对计算机语言增加了兴趣,加深了我们对 C++语言的领悟及运用能力。这次我完成的是“新弹弹堂”游戏本次课程设计总结如下。
一、 问题的提出
刚开始在选题时,没有什么思路。通过对“海底世界”、“黄金矿工”、“拍飞虫”、“打飞碟”、“弹弹堂”和“坦克大战”这些Funcode软件里面的模板的练习.“弹弹堂”给了我启发,所以游戏起名是“新弹弹堂”。顾名思义,这个游戏是根据“弹弹堂”这个游戏模板拓展过来的,休闲娱乐的小游戏。“弹弹堂”的主要的游戏玩法没变,发射炮弹去打石头精灵。然后添加了,“拍飞虫”里面的时间效果,就是在规定的时间内完成游戏中所给的任务。“拍飞虫”游戏对我做的这个游戏的贡献很大,有好多个特色都可以看到“拍飞虫”游戏中的影子。还添加了“坦克大战”中的场景的切换。这个是本游戏的一大特色之一。按空格键时间的长短为发射炮弹力度的大小,但是力度有个极限值为200,而且炮弹的抛物线轨迹会有一条抛物线显现出来。在角度方面有所改进,游戏玩家只需在游戏开始按下“上键”,以后都不需要再次调整角度,角度自动向上调整直到一个极限位置停止,发完炮弹后重新填充再次由下往上旋转。炮弹发射两秒之内更新进入下一轮,如此循环,直至游戏结束。石头精灵有三个,每个精灵要被击打三次才能够被消灭。
与“弹弹堂”相比改进的地方有:1.游戏添加了时间的限制,玩家必须要在规定时间内将所有的石头精灵全部消灭才能获得游戏的胜利。2、改变了“弹弹堂”内传统的石头精灵单层化的模式,“新弹弹堂”把石头精灵分为了上、中、下三层,增加了游戏的多样性。3、炮台改成了自动旋转,游戏开始时玩家只需按一下上键即可。就不需要上下键来控制炮台的方向。4、游戏添加了胜利和失败的标志,增加了游戏的趣味性。5、游戏设置了四个不同的游戏场景,分别由W、A、S、D四个按键来触发。并且,四个场景游戏的难度也有所不同。难度分为简单、中等(两个场景)、困难三个层次,增加了游戏的挑战性。
二、 游戏的整体设计及框架结构
1)整体框架
2)游戏中的细化功能
三、 详细设计
1.主函数模块 main()函数模块
主要功能为完成游戏的计时,并在游戏进程中实时显示得分和剩余时间等不断更新的数据;调用其它函数来完成点击鼠标、按下键盘、精灵与世界边界碰撞时的效果;实现说明文字的显示和隐藏。
步骤详细介绍:
第一步,进入主界面,显示游戏说明的图片;
第二步,根据按下不同的键(S、A、D、W),选择不同的场景(难度)直接开始游戏;
S.太空大战 A.绿野仙踪 D.植物大战僵尸 W.侏罗纪世界
第三步,进入场景后,游戏里面会给定一个游戏的时间。(不同的场景时间不一定相同)
第四步,用炮弹打石头精灵。
第五步,游戏结束显示胜利或是失败,回到初始界面再次开始。
2、准备开炮阶段
步骤一、增加炮台力度
步骤二、改变炮台角度
步骤三、画炮弹发射前半段的抛物线
详细代码如下:
void CGameMain::GameRun( float fDeltaTime )
{
m_fGameTime -= fDeltaTime;
m_pTime-SetTextValue((int)m_fGameTime);
if( 0 == m_iFireState )
{
if( m_iCalStrength )
{
m_fGunStrength += 50.f * fDeltaTime; // 50每秒
if( m_fGunStrength 200.f ) //大炮力度的最大值
m_fGunStrength = 200.f;
}
}
else if( 1 == m_iFireState )
{
m_fRoundTi
您可能关注的文档
- 北京市朝阳区2016年初中毕业考试-英语试卷及答案-.docx
- 北京市丰台区2017届高三5月综合练习(二模)英语.doc.docx
- 北京地区国标单频网覆盖方案及工程实践.ppt
- 北京市怀柔区2015届中考一模英语试题及答案.doc
- 北京市延庆县2012-2013学年第一学期初三期末英语试卷.doc
- 北京市海淀区2015届高三下学期期末练习(二模)(英语).doc
- 北京市海淀区2015届高三二模考试英语试题及答案.docx
- 北京市海淀区2013届高三上学期第一次模拟练习.doc
- 北京市朝阳区2014-2015学年高二下学期期末统考英语试题 Word版含答案.doc
- 北京土人——中山岐江公园.ppt
- 大学生职业规划大赛《新闻学专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《应用统计学专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《音乐学专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《中医学专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《信息管理与信息系统专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《汽车服务工程专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《水产养殖学专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《市场营销专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《音乐表演专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《音乐学专业》生涯发展展示PPT.pptx
文档评论(0)