1、 C 语言贪吃蛇游戏 课程设计报告 2011-8-1 贪吃蛇游戏 课程设计报告 目目 录录 【摘要】【摘要】 3 第第 1 1 章章 游戏游戏概述概述 . 4 1.1 实现的目标 4 1.2 实现的方案 4 1.3 实现的环境 4 1.4 具体的开发方法 4 第第 2 2 章章 游戏游戏设计设计 . 5 2.1 功能的设计 5 2.2 数据的设计 5 2.3 界面的设计 7 第第 3 3 章章 游戏游戏实现实现 . 8 参考文献 .13 贪吃蛇游戏 课程设计报告 【摘要】【摘要】 【C 语言 游戏 贪吃蛇】 本次课程设计的任务是设计有关贪吃蛇游戏的程序,通过这次游戏程序的设计,巩固和加 深对
2、C 语言课程的基本知识的理解和掌握,简单掌握了 C 语言编程和程序调试的基本技能,使 我能够利用 C 语言进行基本的软件设计, 能够利用所学的基本知识和技能,解决简单的程序设计 问题,进而掌握书写程序设计说明文档的能力。 刚开始看到题目,可以说是一头雾水,根本无法下手,尤其对于我这样一个新手,更加困 难重重。为此,我上网查阅了很多资料,逐渐理清丝路,程序的关键点在于表示蛇的图形及蛇 的移动,因此我想到可以用一个小矩形块表示蛇的一节身体,身体每长一节,增加一个矩形块, 再定义两个结构体:食物和蛇。具体实现过程可以说是非常艰难,无数次按照程序运行的错误 提示,对原程序进行修改,在调试过程中有时也会
3、遇到不懂的问题,只能上网查阅一些资料, 一一修改,直到运行成功。 通过这次课程设计,使我对 C 语言有了更进一步的认识和了解,要想学好它要重在实践, 要通过不断的上机操作才能更好地学习它,我也发现我的好多不足之处,首先是自己在指法上 还不行,经常按错字母,通过学习也有所改进;再有对 C 语言的一些标准库函数不太了解,还 有对函数调用的正确使用不够熟悉,对 C 语言中经常出现的错误也不了解,通过实践的学习, 我认识到学好计算机要重视实践操作,不仅仅是学习 C 语言,还是其它的语言,以及其它的计 算机方面的知识都要重在实践,所以后在学习过程中,我会更加注视实践操作,使自己便好地 学好计算机。在课程
4、设计过程中,收获知识,提高能力的同时,我也学到了很多人生的哲理, 懂得怎么样去制定计划,怎么样去实现这个计划,并掌握了在执行过程中怎么样去克服心理上 的不良情绪。 贪吃蛇游戏 课程设计报告 第第 1 1 章章 游戏概述游戏概述 1.1 1.1 实现的目标实现的目标 设计一个贪吃蛇游戏程序。游戏时,一条蛇在密闭的围墙内, 围墙内会随机出 现一个食物通过键盘上的 awsd 键控制蛇向上下左右 4 个方向移动,蛇头接到食 物,则表示食物被蛇吃掉,这时蛇的身体加长一节,同时计 10 分。接着又出现食物 等待被蛇吃掉。 如果蛇在移动过程中, 撞到墙壁或身体交叉 (蛇头撞到自己的身体) , 则游戏结束。
5、1.2 1.2 实现的方案实现的方案 这个程序的关键点在于表示蛇的图形及蛇的移动。用一个小矩形块表示蛇的一 节身体,身体每长一节,增加一个矩形块。移动时必须从蛇头开始,所以蛇不能向 相反的方向移动,也就是蛇尾不能改作蛇头。如果不按任意键,蛇自行在当前方向 上前移,但按下有效方向键后,蛇头朝着指定的方向移动,一步移动一节身体,所 以当按下有效方向键后,先确定蛇头的位置,然后蛇身体随着蛇头移动,图形的实 现是从蛇头新位置开始画出蛇,这时,由于没有清屏的原因,原来的蛇的位置和新 蛇的位置差一个单位,所以看起来蛇多一节身体,所以将蛇的最后一节用背景色覆 盖。食物的出现与消失也是画矩形块和覆盖矩形块。为
6、了便于理解,定义了两个结 构体:食物和蛇。 1.3 1.3 实现的环境实现的环境 (1)操作系统:Windows 7 (2)应用软件:Microsoft Visual C+ 6.0 1.4 具体的开发方法具体的开发方法 (1)通过随机函数产生随机数,控制游戏过程食物的出现; (2)定义键盘操作,控制游戏过程蛇的移动方向; (3)画出边界,并判断游戏是否结束; (4)统计游戏过程蛇吃的食物数量,计算并输出游戏成绩。 贪吃蛇游戏 课程设计报告 第第 2 2 章章 游戏设计游戏设计 2.1 2.1 功能的设计功能的设计 开始 初始化界面和蛇身 放置食物 蛇开始运动 蛇吃到食物? 蛇变长 蛇死亡? 继续? 退出界面 N N Y N Y 游戏