- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
北科大暑期C程序实践计算机应用实践报告
北京科技大学
计算机应用实践报告
机房名称??? 逸夫楼904?
时 间?2014年6月30日至7月18日
学 院 机械工程学院
专业班级??? 物流1302
姓??名???? 徐松松
学??号????
指导教师? 张敏
成 绩???????
2014年 7月
说 明
计算机应用实践是本科教学重要的实践教学环节,是提高学生应用计算机能力的重要措施。所有参加计算机应用实践教学活动的学生都必须撰写实践报告
计算机应用实践报告的质量反映了计算机应用实践的教学质量,它是评定计算机应用实践成绩的主要依据之一。不交实践报告者不得参加实习成绩评定。
指导教师必须对学生的实践报告写出评语并在相应位置给出成绩并签字,否则本实践报告无效。
实践报告要求条理清晰,内容详尽,数据准确,字数不少于5000字。
计算机应用实践活动结束后请将本报告上交学院存档保存。
计算机应用实践报告
一、 问题的提出
在选项目的时候我思考了一番,对于拼图,打飞碟,黄金矿工这些游戏比较熟悉,我一看到迷你高尔夫这个题目的时候感觉有点新奇,没碰到过,我想尝试下新的东西于是就选了这个游戏,希望能在了解基本框架的基础上添加一些新功能和优化一下游戏框架并且美化一下场景。以前小时候玩过各种各样的小游戏,对小游戏如何制作的过程十分好奇,我很盼望能够自己编出一个游戏来,通过一段课程的学习,我了解了游戏的基本制作过程,我选这个题目,具有一定的挑战性,但我相信自己能做好。比如看懂游戏基本代码,添加一些开始,计时,计分,游戏成功或者失败后的相应,以及游戏的优化和场景变换以及游戏的趣味性与逼真性等等都是我在制作游戏的过程中需要考虑的部分。由于我是个人制作,所以这个项目显得有点艰巨,但我会安排好时间,考虑到方方面面,把握好细节方面的处理,从而使迷你高尔夫从原先简单单调的小游戏变为一款功能完善,丰富多彩的小游戏。
二、 游戏的整体设计及框架结构
1. 游戏功能描述
“迷你高尔夫”游戏是通过键盘控制球的运动,最终走出出口,考验了反应能力和思维能力。该游戏功能包括游戏的开始设置,游戏说明,游戏的计时和游戏的分数计算,以及包括背景的音乐播放,场景的变换和精灵的变化,一些特效的加入还有对游戏结束时的不同反应,这是一款相对完善的游戏。
2. 游戏流程图
三、 详细设计
1.主函数模块main()函数模块
主要功能为完成游戏的计时,并在游戏进程中实时显示剩余时间并计算分数;调用其他函数来完成点击鼠标、按下鼠标、精灵与世界边界碰撞时的效果;实现说明文字的显示和影藏。
步骤详细介绍:
第一步,进入游戏界面,显示文字说明;
第二步,根据需要查看游戏说明
第三步,空格进入游戏,设定初始时间为60秒,开始创造精灵,利用dSetSpriteVisble()隐藏无关文字。
第四步,控制球的运动,计分计时。
第五步,游戏结束;显示通关是否成功,成功的话显示本次所得的分数,失败则显示“游戏失败”文字。
2.游戏的初始化操作
功能:每局开始前进行初始化,清空上一局相关数据
相关函数:
void CGameMain::GameInit()
{
m_iMoveState=0;
ClearAllSprite();
InitLevel();
CreateAllSprite();
}
3.游戏运行过程
功能:
显示游戏剩余时间
计算游戏的分数
控制文字与图片的显示
控制球的运动状态和判断位置,控制关卡的转换
相应函数:
void CGameMain::GameRun( float fDeltaTime )
{
m_iGameScore -= 2*fDeltaTime;
m_fGameTime -= fDeltaTime;
if(m_fGameTime 0)
{
m_pTime-SetTextValue((int)m_fGameTime); //显示剩余时间
m_pscore-SetTextValue((int)m_iGameScore); //显示剩余分数
}
else
{
m_iCurLevel=1;
InitLevel();
m_iGameState = 0;
CSystem::ShowCursor(true);
m_pKaishi-SetSpriteVisible(true);
m_jieshu-SetSpriteVisible( true )
文档评论(0)