1、 面向对象程序设计面向对象程序设计 课程设计报告课程设计报告 题 目: 坦克大战软件设计与实现 院 (系) : 信息科学与工程学院 专业班级: 计算机科学与技术 1201 班 20 14 年 12 月 29 日至 20 15 年 1 月 9 日 面向对象程序设计面向对象程序设计 课程设计任务书课程设计任务书 一、设计(调查报告一、设计(调查报告/ /论文)题目论文)题目 坦克大战软件设计与实现 二、设计(调查报告二、设计(调查报告/ /论文)主要内容论文)主要内容 内容: 在这个游戏中使用 Java GUI 中的 AWT 包实现一个坦克大战游戏程序, 具有 游戏的主窗口,能够实现该游戏的基本功
2、能包括坦克的四处移动,打击敌人,模 拟爆炸,产生障碍,增加生命,存在地图障碍物等。 基本功能与要求: 1 游戏要有图形用户界面,界面能够反映游戏所有的细节。 2 界面中要有坦克,墙,树林,河流。 3 界面中要有一个“家”,“家”被攻击中则输了游戏。 4 坦克分两种,敌方和我方。 5 墙也分为两种,可以穿透的普通墙,不可以穿透的铁墙。 6 树和河流均只有一种,树林坦克可以通过。 7 坦克可以发射子弹,敌我方的子弹属性一样。 8 我方子弹可以杀死敌方坦克,敌方子弹也可以杀死我方坦克,但需要多枪 子弹才可以杀死。 9 敌方之间不可以杀死对方。 10 子弹击中坦克要有爆炸,但击中墙不能爆炸。 11 我
3、方可以吃血包增加生命。 游戏可以暂停, 重新开始, 游戏帮助等功能。 三、原始资料三、原始资料 1.面向对象程序设计课程设计指导书 2. 耿祥义JAVA 大学实用教程北京:清华大学出版社,2009 四、要求的设计(调查四、要求的设计(调查/ /论文)成果论文)成果 1.课程设计报告 2.课程设计软件 五、进程安排五、进程安排 布置任务,查找资料、需求分析 1 天 总体设计 1 天 详细设计 1.5 天 编制源程序实现 3.5 天 测试与修改 1 天 撰写课设报告 2 天 六、主要参考资料六、主要参考资料 1 张广彬. Java 课程设计案例精编(第二版).北京:清华大学出版社, 2011. 2
4、 耿祥义. Java 课程设计(第二版).北京:清华大学出版社, 2008. 3 耿祥义JAVA 大学实用教程北京:清华大学出版社,2009 4 邹林达陈国君 Java2 程序设计基础北京:清华大学出版社,2010 5 邹林达Java2 程序设计基础实验指导北京:清华大学,2010 指导教师(签名) :指导教师(签名) : 20 20 年年 月月 日日 目录 1 需求与总体设计 1 1.1 需求分析 1 1.2 总体设计 1 1.2.1 总体设计功能图 1 1.2.2 总体设计流程图 1 1.3 类图 3 2 详细设计 4 2.1 详细设计思路 4 2.2 类图详细说明 7 2.3 详细设计流
5、程图 . 15 3 编码实现 . 16 4 系统测试 . 41 4.1 菜单项测试 . 41 4.2 游戏信息测试: . 44 总 结 . 52 1 1 需求与总体设计 1.1 需求分析 1. 设计一个图形用户界面,将所有游戏的元素都能在此用于界面上表现出来,界面能 够接受用户的操作,具有人机交互功能。用户可以选择重新开始游戏,退出游戏,暂停 游戏和查找游戏帮助。 2. 界面中包含坦克,树,河流,阻挡墙和游戏用户所要保护的“家” 。 3. 坦克:坦克分为两种,敌方坦克和用户控制的坦克。用户方和敌方坦克均可以发射 子弹, 可以改变路径的行走, 且在行走过程中遇到墙等阻碍物和游戏边界时要改变方向,
6、 而不能一直顶着障碍物不放。坦克之间不能穿越,碰撞到后自动调换方向。 4. 树:界面中要包括树林,作为遮掩物体和修饰物体,以便增加游戏的元素,使得游戏 更加贴切人性化。树的数目不限,以游戏整体界面清晰美观来决定数目。 5. 河流:界面中要包括河流,河流作用与树林相同,同样河流的数目不限,以游戏界 面整体美观度来决定数目。 6. 墙:墙体分为两种,普通的墙和铁墙,普通的墙在受到子弹袭击时会损坏,而铁墙 可以阻碍子弹的穿越。两方的坦克均不能穿越两种墙体,但都可以摧毁普通墙体。普通 墙体的数目配合其他元素合理安排,铁墙则不宜过多,不然游戏难度太低甚至因为坦克 不能穿越铁墙而使得游戏无法进行下去。 7. “家” :用户方除了有一辆自己的坦克外还有一个要保护的家,家由普通墙体包围, 家受到子弹攻击后游戏立即结束,用户方则输了本局游戏。 8. 子弹:子弹可以由敌方和用户方发射,且发射出去的子弹可以直线移动,直到碰到 障碍物就消失,子弹可以穿越树林和河流。敌方坦克受到