- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C 语言程序设计之贪吃蛇
一.程序功能介绍
贪吃蛇游戏是一个经典小游戏,一条蛇在封闭围墙里,围墙里随
机出现一个食物,通过按键盘四个光标键控制蛇向上下左右四个方向
移动,蛇头撞倒食物,则食物被吃掉,蛇身体长一节,同时记 10 分,接
着又出现食物,等待蛇来吃,如果蛇在移动中撞到墙或身体交叉蛇头
撞倒自己身体游戏 束。
二.程序整体设计说明
一个游戏要有开始部分,运行部分, 束部分(实际上开始部分与
运行部分是一体的)。
2.1 设计思路
这个程序的关键是表示蛇的图形以及蛇的移动。用一个小矩形表
示蛇的一节身体,身体每长一节,增加一个矩形块,蛇头用两节表示。
移动时必须从蛇头开始,所以蛇不能向相反方向移动,也就是蛇尾不
能改作蛇头。如果不按任何键,蛇自行在当前方向上前移,当游戏者
按了有效的方向键后,蛇头朝着指定的方向移动,一步移动一节身体,
所以当按了有效的方向键后,先确定蛇头的位置,然后蛇身体随着蛇
头移动,图形的实现是从蛇头的新位置开始画出蛇,这时由于没有庆
平的原因,原来蛇的位置和新蛇的位置差一个单位,所以看起来社会
多一节身体,所以将蛇的最后一节用背景色覆盖。食物的出现和消失
也是画矩形块和覆盖矩形块
2.2 数据 构设计及用法说明
开始部分:
游戏是运行在图形模式下的,所以第一步一定是初始化图形模式,
接着要有开始的界面,就像书有封面一样,我设置了一个游戏的标题
画面,除了游戏标题画面我还设置了一个欢迎画面。标题画面以后,还
要为游戏的运行部分作初始化,包括绘制游戏运行时的背景,对游戏
某些重 要变量的初始化。
运行部分:
作为游戏的核心部分,这里包括的函数比较多,也就是模块比较
多,首先让我模拟一下贪吃蛇的游戏模式:某个世界上突然出现一条
蛇,它很短,它的运动神经异常,它没法停止自己的多动症在它的世
界里就只有食物,它很饿,也很贪吃;同样在不明原因的情况下,食物
从天而降,可惜的是没有落到嘴边 ;饥饿的主人公,不管它有没有毒,
也不问食物的来历,径直向食物爬去;它吃到食物啦,它超出想象的同
化能力让食物很快的成为自己身体的一部分,它的身子变长啦。当它
吃到第一颗食物时,上帝有给它第二颗,于是它吃了第二颗,于是又
变长了,于是又有第三颗……它的身子是一直的加长,它不管自己过
长身体的麻烦——转身不便,继续吃下去,现在它是直接把巴张大,好
让食物有个绿色通道。但是在某天的下午,它咬到了自己,它才想起
自己是一条毒蛇,于是晕死过去(不是毒死);又或者它往食物冲锋的时
候,它失去控制,撞到了墙上。
第一轮循环 :第一步,出现食物;第二步,蛇不停运动;第三步,检
查蛇是撞到自己或墙壁;由第四步起游戏有两条支线(A 、B):
A :第四步,蛇没有碰到自己或墙壁,蛇继续前进,绘制蛇的动
作;第五步,判断蛇是否吃到食物,如果蛇吃到食物,身子变长,原来
的食物消失;第六步,让玩家输入控制指令,让蛇在下一轮循环的第二
步改变运动方向;第七步,第二轮循环的第一步,重复第一轮的步骤;
B :第四步,蛇碰到自己或墙壁,终止游戏。
束部分:
游戏 束时,显示“GAME OVER”,已经是约定俗成的规律了,我
的游戏也不例外。除了游戏 束画面外,我还设置了一个游戏退出画
面,“善始善终”嘛。
有了上述的大致划分,我把整个程序划分成(13+2)个模块(其实
就是函数)
依据所需要处理的任务要求,规划输入数据和输出 果,决定存
放数据的数据 构。
C 语言中数据 构集中体现在数据类型上,因此在进行 C 语言程
序设计时,应统筹规划程序中所使用的变量,数组,指针等,以及它们
的类型等。这点是很重要的,如果在此期间选择不合适的变量或者数
组,将来修改就十分困难。
现在分析一下贪吃蛇游戏中元素,继而得出与它们对应的在程序
中的描述:
蛇:
基本描述:长度,颜色,位置。
对应数据与数据类型:长度— 虽然可以用坐标表示,但是这样的
话,运算量将很大,所以换算成较大的单位—节数,以固定长度的每
节描述;
文档评论(0)