“坦克大战”游戏设计报告毕业论文.doc

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
“坦克大战”游戏设计报告毕业论文

软件课程设计报告 “坦克大战”游戏设计报告 学 院 专业班级??? ???? 姓??名?? ?? 学??号? ?? 指导教师??? 2013年 9 月 软件课程设计报告 “坦克大战”游戏设计报告 通过对C语言的学习我们已经初步掌握了C语言程序的设计。对C语言程序的编写也有一定的经验。不过并没有在实际应用中使用C语言编写程序,而且是相对复杂的游戏程序编程。相信通过此次对小游戏的编写会让我们对C语言的理解更加深刻,同时也提高对C语言的应用能力。 本次课程设计总结如下: 一、 问题的提出 本次我们选择的题目是坦克大战。主要是因为坦克大战是从小就陪伴我们度过童年的一种小游戏,对它的各种功能都比较熟悉。因此,对于能编写这样一个小游戏我们都是比较感兴趣的。同时,游戏编写中会用到结构体、链表、枚举等在C语言学习中比较不熟悉的知识有助于我们在实践中加深对这些知识点的理解与应用。 二、 游戏框架 (1)整体框架 (2)游戏中的功能细化 三、详细设计 1、主函数模块main()函数模块 主要功能为完成游戏的计时,并在游戏进程中实时显示得分和剩余时间等不断更新的数据;调用其它函数来完成点击鼠标、按下键盘、精灵与世界边界碰撞时的效果;实现说明文字的显示和隐藏。 步骤详细介绍: 第一步、按空格键,游戏开始,“空格开始”字样消失,设置初始时间为30。 第二步、按WASD键,控制坦克上下左右运动。 第三步、游戏开始后,右上角实时显示剩余时间。 第四步、当超过30秒,游戏结束,重新显示“空格开始“字样,游戏时间设为0,坦克回到初始位置。 详细代码: int PASCAL WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { // 初始化游戏引擎 if(!dInitGameEngine( hInstance, lpCmdLine )) return 0; // ---------------- 游戏初始化代码 ----------- dSetWindowTitle(坦克大战); // 设置游戏窗口标题 // ------------------------------------------- g_pMyTank=(weapon*)malloc(sizeof(weapon)); strcpy(g_pMyTank-szName,player); g_pMyTank-iHp=1; dSetSpriteWorldLimit(g_pMyTank-szName,WORLD_LIMIT_NULL, WORLD_LEFT,WORLD_TOP,WORLD_RIGHT,WORLD_BOTTOM); dSetSpriteCollisionSend(g_pMyTank-szName, true); float fPosX0,fPosY0; fPosX0=dGetSpritePositionX(g_pMyTank-szName); fPosY0=dGetSpritePositionY(g_pMyTank-szName); bool iLoad=true; // 是否载入地图 // 游戏主循环 while(dEngineMainLoop()) // 运行游戏引擎,刷新游戏屏幕。当引擎关闭时,返回false { // ---------- 游戏主循环代码 ------------- // 获取游戏屏幕刷新一次的时间间距 float fTimeDelta=dGetTimeDelta(); maxscore=load(filename); if(g_bStart) { if(iLoad) { LoadMap(); iLoad=false; } g_fGameTime-=fTimeDelta; if(g_fGameTime 0.f) { dSetTextValue(hight,maxscore); dSetTextValue(time,(int)g_fGameTime); dSetTextValue(score, g_i

文档评论(0)

almm118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档