1、 面向对象编程技术面向对象编程技术 课程设计实验报告课程设计实验报告 坦克二坦克二 目录目录 一、程序名称 二、设计目的 三、程序设计的意义 四、功能介绍 五、开发平台 六、课程设计总体规划 1、处理流程图 2、结构模块分析 七、主要代码 八、运行效果抓图 九、创新和难点 十、课程设计中目前存在的问题 十一、心得体会 一、一、程序名称程序名称 以坦克大战游戏为题材,自己动手,从零开始,写出 简单坦克小游戏-坦克二。 二、设计目的二、设计目的 1、进一步掌握 C+进行类的定义和操作方法; 2、学习和掌握 C+程序设计方法以及上机调试技巧,为以后学 校其他专业课程打好基础; 3、能够培养我们独立分
2、析问题、解决问题、查阅资料以及自学 的能力,以适应计算机只是日新月异发展的形式; 4、程序设计的目的不单单是课堂上的学习,我觉得最重要的是 让我们学生掌握程序设计的思想与方法。在课程设计的过程中, 我们充分运用我们课堂上学习到的知识, 并且复习 C 语言中的函 数等知识点。 在这个过程中, 我们能够不断提高对 C+面向对象 程序设计的理解,最终能够独立自主解决一些问题。 三、程序设计的意义三、程序设计的意义 大学最重要无疑是动手能力与自学能力的培养, 课程设计明 显给了我们这样的一个机会。遇到瓶颈的时候,我们需要去图书 馆查阅书籍,代码错误的时候我们需要反复的调试,在这个过程 中, 我们的动手
3、能力以及自学能力都在不知不觉中得到了很大的 提升。 回顾起此次课程设计,我还是感慨颇多,从理论到实践,在 这几乎一个学期的时间里 (课程设计是 C+第一次上课的时候提 出来的) ,我学到了很多很多的东西,不仅巩固了以前所学过的 C 语言方面的知识,而且自己也去图书馆查阅资料学到了很多。 通过这次的课程设计使我懂得了理论与实际结合是很重要的, 只 有理论知识是远远不够的, 只有把所学的理论知识与实践结合起 来,从理论中得出结论,才是自己真正掌握了的,属于自己的知 识,才能提高自己的实际动手能力和独立思考的能力。在课程设 计的过程中遇到了各种各样的问题, 同时在设计的过程中也发现 了自己的不足之处
4、,对以前所学的知识理解的不够深刻,掌握的 不够牢固,通过这次课程设计,把以前所学的知识重新温故,巩 固了所学的知识。 四、四、功能介绍功能介绍 在坦克二程序中,小坦克能够上下左右自由移动,飞机能够 左右移动,并且能够发射子弹,飞机每次只能发一颗子弹但是坦 克可以多发子弹连续发射, 在坦克子弹打中飞机或者飞机子弹打 中坦克之后,游戏结束。 五、五、开发平台开发平台 操作系统:win 7 开发软件:Mirosoft Visual C+ 6.0 六、六、课程设计总体规划课程设计总体规划 1、处理流程图处理流程图 开始开始 是否开始游 戏 使 用 方 法 开 始 游 戏 主 要 事 项 Y 坦 克 移
5、 动 发 射 子 弹 N 坦克被打死 或者飞机被 打死 游戏结束游戏结束 Y N 2、结构模块分析结构模块分析 Tankwar 类是Bullet类、 Tank 类、 Plane 类的服务类, Tankwar 类内部只有几个函数。 七、七、主要代码主要代码 /*子弹类子弹类*/ class Bullet public: void showTankBullet() printf(“T“); void showPlaneBullet() printf(“F“); Bullet(int X,int Y) Tankwar 类类 Bullet 类类Tank 类类 Plane 类类 x=X; y=Y; ne
6、xt=NULL; Bullet() x=36; y=23; next=NULL; void setlocationBullet(int X,int Y) x=X; y=Y; void move_up() gotoxy(x,y); printf(“ “); /setlocationBullet(x,y-1); if(y!=0) y-; gotoxy(x,y); showTankBullet(); int getX() return x; int getY() return y; Bullet() Bullet *next; private: int x,y; ; /飞机类飞机类 class Plane public: void showPlane() gotoxy(x,y-2); printf(“Y“); gotoxy(x,y-1); printf(“Y“); gotoxy(x-1,y); printf(“YYY“); gotoxy(x,y+1)