C++课程设计报告【飞机大战】 (1).docx

C++课程设计报告【飞机大战】 (1).docx

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共50页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
C++程序设计A2 课程设计报告 课程名称 C++程序设计 A2 课题名称 飞机大战 专 业 计算机科学与技术 班 级 1820544 学 号 182054424 姓 名 王锐 指导教师 韩燕丽 2019 年 6 月 15 日 一)、课程设计题目: 飞机大战 二)、目的与要求: 1、目的: (1)要求学生达到熟练掌握 C++语言的基本知识和技能; ( 2)基本掌握面向对象程序设计的基本思路和方法; (3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。 2、 基本要求: (1) 要求利用面向对象的方法 以及C++的编程思路来完成系统的设计。 (2) 在系统的设计中,要求运用面向对象的机制( 继承及多态性 ),来实现系统功 能,并且要建立清晰的类层次结构。 (3) 在系统设计中要分析和定义各个类,每个类中要有各自的数据成员和成员数。 (4) 主函数中提供 菜单选项 ,并给出足够的选择信息以及提示信息。 (5) 程序具有一定的 健壮性 ,不会因为用户的输入错误引起程序运行错误而中断 执行。对输入值的类型、大小范围、字符串的长度等,进行正确性检查,对不合法 的输入值给出出错信息,指出错误类型,等待重新输入。 3、 创新要求: 在基本要求达到后,可进行创新设计,如根据查找结果进行修改的功能。 三)、设计方法和基本原理: 功能要求: 设计一个基于控制台的简洁流畅的飞机大战游戏。 问题的解决方案: 根据系统功能要求,可以将问题解决分为以下步骤: (1) 应用系统分析,建立该系统的功能模块框图以及界面的组织和设计; (2) 分析系统中的各个实体及它们之间的关系包括属性和行为; (3) 根据问题描述,设计系统的类层次; (4) 完成类层次中各个类的描述(包括属性和方法) ; (5) 完成类中各个成员函数的定义; (6) 完成系统的应用模块; ( 7)功能调试; (8)完成系统总结报告以及系统使用说明书 目录 系统需求分析 1 总体设计 2 详细设计及实现 5... 系统调试 5 结论 错...误! 未定义书签。 心得体会 错... 误! 未定义书签。 参考书目 4..5.. 系统需求分析 1.1 系统设计的目的与意义: 飞机大战游戏作为 PC 中一款桌面游戏,界面简洁流畅、游戏方式简单玩起来容 易上手。面向休闲游戏的玩家,例如:家庭、办公人员等,使用人群广泛。 1.2 系统功能需求: 1) 通过键盘,方向键 WASD键可控制战机的位置,空格键发射子弹, 2) 界面中敌机出现的位置是随机的。 3) 对于随机产生的敌机及子弹,若超出界面,则释放该对象。 4) 战机、敌机、子弹都有生命值,敌机和玩家碰撞、敌机和玩家的子弹碰撞、敌 机的子弹和玩家碰撞、敌机的子弹和玩家的子弹碰撞均需考虑。敌机的生命值为 0,则 删除敌机或BOSS战机生命值为0,游戏结束。 5) 战机子弹:战机有两种子弹可自由选择。 6) 结束功能:游戏中按下 2 会结束游戏,再次按下 Y/N 可继续或者退出游戏。 总体设计 2.1系统功能分析: 系统通过调用类函数来实现游戏的运行,通过面向对象类的继承、多态等思想在使 程序简洁的同时保证游戏的正常运行。 2.2系统功能模块划分与设计: 系统定义了 Bullet() 、Plane()两个基类,通过继承得到Bullet_1() 、Bullet_2() Bullet_3() 、Bullet_3() 、Bullet()_4 、Player()等类。Map 类用于地图的绘制,Bullet 类用于子弹的实现,Plane类是飞机的实现,在通过 Plane类的继承,编写敌机和战 机类。 2.3系统功能模块图: 飞机大战 2.4类的设计 (1)Bullet类(抽象类)的设计 Bullct bool isOut; bool isDead; int atk; int m_hp_b; Note* noo; vector<Note*>* m_bull; virtual void draw_on_map(Map* p) = 0; virtual void clear(Map* m) = 0; virtual void init(int x, int y) = 0; virtual void upDate(Map* m) = 0; virtual void overstep(Map* m) = 0; (2) Plane类的设计: (3) Map类的设计: P1 ane bool isOut; bool isDead; int atk; int m_hp; char directi on; Note* noo; vector<Note*>* m_data; virtual void draw_ on _map(Map*

文档评论(0)

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

向前,只为更好!

认证主体严**

1亿VIP精品文档

相关文档

相关课程推荐