C++贪吃蛇游戏.doc
《C++贪吃蛇游戏.doc》由会员分享,可在线阅读,更多相关《C++贪吃蛇游戏.doc(13页珍藏版)》请在沃文网上搜索。
1、_目 录引 言8第1章实验设计91.1使用环境91.2程序思路91.3程序流程图10第2章具体的使用操作及代码的实现112.1vc+编译器的使用112.2代码部分122.3错误调试与分析162.4程序的缺陷16总结 展望17致 谢18参考 文献19引 言 C+,这个词在中国大陆的程序员圈子中通常被读做“C加加”,而西方的程序员通常读做“C plus plus”,它是一种使用非常广泛的计算机编程语言。C+是一种静态数据类型检查的,支持多重编程范式的通用程序设计语言。它支持过程序程序设计、数据抽象、面向对象程序设计、泛型程序设计等多种程序设计风格。贝尔实验室的本贾尼斯特劳斯特卢普(w:en:Bja
2、rne Stroustrup)博士在20世纪80年代发明并实现了C+(最初这种语言被称作“C with Classes”)。一开始C+是作为C语言的增强版出现的,从给C语言增加类开始,不断的增加新特性。虚函数(virtual function)、运算符重载(operator overloading)、多重继承(multiple inheritance)、模板(template)、异常(exception)、RTTI、名字空间(name space)逐渐被加入标准。1998年国际标准组织(ISO)颁布了C+程序设计语言的国际标准ISO/IEC 14882-1998。遗憾的是,由于C+语言过于复杂
3、,以及他经历了长年的演变,直到现在(2004年)只有少数几个编译器完全符合这个标准。另外,就目前学习C+而言,可以认为他是一门独立的语言;他并不依赖C语言,我们可以完全不学C语言,而直接学习C+。根据C+编程思想(Thinking in C+)一书所评述的,C+与C的效率往往相差在正负5%之间。所以有人认为在大多数场合C+ 完全可以取代C语言。C+语言发展大概可以分为三个阶段:第一阶段从80年代到1995年。这一阶段C+语言基本上是传统类型上的面向对象语言,并且凭借着接近C语言的效率,在工业界使用的开发语言中占据了相当大份额;第二阶段从1995年到2000年,这一阶段由于标准模板库(STL)和
4、后来的Boost等程序库的出现,泛型程序设计在C+中占据了越来越多的比重性。当然,同时由于Java、C#等语言的出现和硬件价格的大规模下降,C+受到了一定的冲击;第三阶段从2000年至今,由于以Loki、MPL等程序库为代表的产生式编程和模板元编程的出现,C+出现了发展历史上又一个新的高峰,这些新技术的出现以及和原有技术的融合,使C+已经成为当今主流程序设计语言中最复杂的一员。第1章 实验设计1.1 使用环境硬件要求能运行Windows 操作系统的微机系统。C+语言应用程序开发软件使用:VC+ 系统,或其他C+语言应用程序开发软件。1.2 程序思路在数据结构上,用数组存储蛇以及蛇的运动区域。在
5、数组中,每个元素有四个云感动方向,分别为RIGHT,LEFT,UP,DOWN.在没有蛇身的区域,数组的元素值为0。在蛇身的每个节点,用一个数组元素存储当前蛇节点的运动方向。通过改变数组中元素的值来表示蛇身的移动。在程序中运用定时器来保证蛇的持续移动。每个一定的时间间隔,蛇移动一格。在设计界面时。在Visual Studio C+6.0的环境下,由于目前自己的水平有限,所以游戏界面依然是基于DOS实现贪食蛇运行算法。在界面中用*中画出一个矩形,在由大*组成的矩形中,用20x20的像素单位表示每一个蛇的节点。当数组节点的值不为0的时候,在*矩形框中表示出相应的蛇的节点。并在蛇每移动一小格的时候,重
6、绘整个窗口。在对蛇身进行绘画时。通过数组元素的值将蛇身在对话框的矩形中显示出来。在蛇身运动时,首先在蛇头位置蛇身增长一个节点,然后判断蛇头是否到达食物所在位置,若在食物所在位置,则蛇尾不减一,蛇身继续移动,若蛇头不在食物位置,则蛇尾减一,蛇身继续移动。若蛇头越界或者蛇头与蛇身重叠,则游戏结束。1.3 程序流程图按w a s d控制方向头部是否与food重合将food添加到蛇身中并产生新food出界与自身相交交移动一格更新运动方向运行游戏YNNYNYReturnfalseReturnture图1-1流程图第2章 具体的使用操作及代码的实现2.1 vc+编译器的使用1、新建一个 win32 控制台
7、应用如下图并建立一个c+文件;图2-1新建工程2、新建c+文件如下 取名为:xiaolong图2-2 新建c+文件2.2 代码部分1、首先需要定义用到的一些头文件:#include #include #include #include #include 图2-32、设计三个类:界面的类 ,蛇的类、和移动的类; (1)定义一个界面的类如下/围墙;class Fencepublic:void InitFence();void OutputF();public:char game2020;f; /定义对象;/画框框;void Fence:InitFence()for(int i=0; i20; i+
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 贪吃 游戏
