C++程序课程设计
贪吃蛇游戏
姓名:XXXX 学号:XXXXXX 指导教师:XXXX 提交日期:2XXXXX
目录
C++程序课程设计 ......................................................................................................... 1 第一章 课题介绍 ...................................................................................................... 2 1.1选题背景 ................................................................................................................. 3 1.2关于编译软件 ......................................................................................................... 3 1.3关于兼容性 ............................................................................................................. 4 第二章 设计概要 ...................................................................................................... 4 2.1程序功能简介 ......................................................................................................... 4 2.2程序流程 ................................................................................................................. 4 第三章 游戏实现 ...................................................................................................... 5 3.1创建工程 ................................................................................................................. 5 3.2游戏界面控制 ......................................................................................................... 7
3.2.1墙、框体的绘制.......................................................................................... 7 3.2.2蛇身的绘制.................................................................................................. 8 3.2.3食物的绘制.................................................................................................. 9 3.3游戏控制 ............................................................................................................... 11
3.3.1蛇的移动.................................................................................................... 11 3.3.2蛇死亡的判断............................................................................................ 13 3.3.3消息窗口的弹出........................................................................................ 13
3.3.3.1开始消息框 ....................................................................................... 13 3.3.3.2关卡消息框 ....................................................................................... 14 3.3.3.3结束消息框 ....................................................................................... 15 3.3.4游戏音效.................................................................................................... 16 第四章结果与讨论...................................................................................................... 17 4.1程序运行 ............................................................................................................... 17 4.2对源程序的改进 ................................................................................................... 18 4.3错误调试与分析 ................................................................................................... 18
4.3.1关于窗口的重画问题................................................................................ 18 4.3.2关于双音轨的问题.................................................................................... 18 4.3.3程序的稳定性............................................................................................ 19 4.4课程设计心得与体会 ........................................................................................... 19 附录.............................................................................................................................. 21
第一章
课题介绍
1.1选题背景
蛇------传说中的圣灵之物,仰头为神、俯首为魔。蛇是月亮国膜拜的神,月亮国的子民们都认为蛇是万能的主宰派来保护他们的守护者。蛇在这个岛屿就像空气一样自然的出现在各个角落,有些还成为居民的宠物,陪伴孩子长大,和年轻人一起去探险,守护着散步的老人。在善良的女娟神保佑下,人们的生活安宁平静。为了答谢女娟的庇佑,每年月亮国的国民都会举办一个守护蛇大赛,大家都会拿出自己最强、最炫、最快、最稀有的蛇来参加比赛,获得第一名的人将得到国王的特别嘉奖。所以国民一生都在不断的培养更有威力、更长、更壮的蛇。\贪吃蛇\是一个产生于1970 年代中后期的计算机游戏,也叫蛇吃豆。
该游戏在1990 年代由于一些手机将其引入而一时间再度流行起来。在游戏中,玩家操控一条细长的蛇爬行于一个带边界的平面之上,一路拾起触碰到之事物或其它类似的物件,并要避免触碰到自身或者包围着游戏区的\墙\。每次贪吃蛇吃掉一件食物,它的身体便增长一些,这让游戏的难度渐渐变大。操控贪吃蛇时,玩家操控贪吃蛇的头部的朝向(向上、向下、向左或向右)控制贪吃蛇的进行方向,贪吃蛇的身体将跟随着其头部行进。另外,玩家不可在游戏中途停止贪吃蛇的进行。随着贪吃蛇的成功移植到手机系统,贪吃蛇的操作按键要求与手机按键的完美匹配,使贪吃蛇游戏风靡起来。
贪吃蛇是家喻户晓的益智类小游戏,选择这个题目一是为了将自己的所学知识加以运用,二是一直以来贪吃蛇这个游戏就深深地吸引着我,它的制作方法对于以前的我而言都是很神秘的。我希望通过自己的所学知识把它剖析开来,真正的了解它的本质和精髓。虽然我的编程能力不是很强,但是我有信心,在这次学习中我将从实践和实际的项目中提高自己的编程能力。因此我选定了这个题目。
1.2关于编译软件
本程序采用Microsoft Visual C++6.0的中文版本进行编译。VisualC++6.0是Microsoft公司推出的基于Windows操作系统的可视化C++编程工具,尽管Microsoft公司推出了.NET平台的集成开发环境,但由于其良好的界面和可操作
性,加上支持标准C/C++规范,但仍有相当多的编程人员使用VisualC++6.0进行应用系统的开发。
1.3关于兼容性
本程序经过调试,可以在XP系统下编译运行,也可以在Vista/Win 7下运行,界面稍有不同,但不影响运行结果。
第二章
2.1程序功能简介
设计概要
据分析,贪吃蛇游戏一共要实现如下几个功能: ? 开始运行
? 蛇在上下左右键的操作下运动 ? 闯关设置 ? 游戏音效 ? 游戏说明
2.2程序流程
根据分析后的贪吃蛇结构设计出相应的贪吃蛇流程(图1)。 贪吃蛇的内容主要包括:
开始游戏,随机出现食物,控制蛇的运动,吃食物,关卡处的消息询问,游戏音效的播放,分数的输出,游戏帮助的输出等等。
开始游戏 蛇向右运动 出现食物 否 判断分数是否达到下一关 是 消息响应 控制蛇的运动方向 判断蛇头和蛇身以及墙坐标是否重合 判断蛇头与食物坐标是否重合 是 蛇身增长 图1.流程图
退出游戏 否 是 蛇死亡 否 开始下一关
第三章
3.1创建工程
游戏实现
本程序使用Win32 Application工程,编辑在Windows窗口中打开的应用程序。由于之前没有接触过这类工程,所以我在短短几天内笼统的学习了一些相关的基本知识。在程序的编写过程中,遇到了很多问题,通过查阅资料和请教别人,解决了很多问题,但是仍然有遗留的未解决的问题,所以本程序虽然实现了大部分功能,但不是很完善,需要在将来的学习过程中逐渐改进。