c语言贪吃蛇详细步骤.pptxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
c语言贪吃蛇详细步骤.pptx

C语言贪吃蛇步骤和方法 1.显示界面 把背景框画出来 2. 按自己的风格设计(追求代码的灵活性) 显示界面的实现方法 方法 1:把数组所有元素初始化为0,把边界的元素初始化为1,把方块画到元素值为1的边界上 方法 2 :直接定义一个字符数组,把背景框画出来(推荐(printf输出比较少,解决闪烁问题)) 2.播放音乐 头文件:windows.h,MMSystem.h, #pragmacomment(lib,winmm.lib) //在库里寻找winmm这个库,用于播放音乐 播放音乐的函数及其用法 播放音乐的函数:playsound(LPCSTR pszsound,HOMODULE HMOD ,DWORD FDWSOUND)参数pszSound是要播放声音的文件名,只支持WAV等格式的文件, 参数hmod是应用程序的实例句柄,一般传递NULL就可以, 参数fdwSound是标志的组合掩码,可选值有SND_FILENAME、SND_ASYNC、SND_SYNC等。 3.停止音乐播放 选择一个标记做为停止的信号(按键消息(可以使用_getch函数,接收当前你按键盘上的键的信息)) 停止播放音乐的函数:playsound(NULL,NULL,NULL) 4. 设置蛇的位置,长度和方向把蛇画出来 定义一个数组专门记录蛇的坐标,把背景数组看作是坐标系,x为行,y为列,使用随机函数rand设置x和y的坐标,作为蛇头的坐标,然后根据蛇的长度设置蛇身的坐标,再把所记录的坐标在背景数组里面找出来并通过复制字符串函数把方块复制到背景数组。 注意:复制方块的时候一定要用strncpy,而不能用strcpy,因为用strcpy复制的话,方块后面的\n’结束符号也会复制过去 注意事项 注意事项: 1.设置随机数的位置一定要在数组的范围里面,不要越界 2.一个方块占两个字符,所以方向如果是左或者右的话,蛇头后面的方块要+2或者-2 3.因为一个方块占了两个字符,所以随机数产生的列的值要*2 strncpy函数的用法 strncpy(char *dest, char *src, int n); 第一个参数:数组的地址 第二个参数:复制的字符串 第三个参数:复制字符的个数(方块占两个字符) 5.蛇的移动 步骤 1.销毁当前蛇 2.确定好蛇移动的方向,东西方向移动列+2(方块占两个字符),南北方向移动行+1 3.找出蛇移动后的坐标 4.重新画蛇 销毁蛇的方法 找出当前蛇位置的坐标,用strncpy函数将数组里面对应的坐标的方块换成空格 (注意:一个方块等于两个空格) 6.判断蛇是否死亡 判定条件 1.判断蛇头是否碰到边界 2.判断蛇头是否碰到自己 只需要判断蛇头下一个位置是不是方块就可以了(可以加多一点判断条件) 7.随机产生食物 方法: 用rand函数和种种子的方法随机产生一个坐标,把食物用strcnpy函数复制食物的符号到背景里面 注意事项 注意: 1.不要越界(产生食物的坐标要在背景框内) 2.解决字符集编译不了的问题:右键项目属性——常规——字符集——使用多字节字符集 种种子的函数和用法 种种子:srand((unsigned int)time()NULL) 利用时间差作为种种子的频率 包含头文件time.h 8.判断是否再产生食物 方法 判断蛇是否死亡和食物是否被吃掉就可以了(判断食物是否被吃掉——只需判断蛇头的坐标是否和食物的坐标重合就可以了) 9.蛇吃食物后变长 方法 1.设置两个全局变量记录食物的坐标(x,y) 2.判断蛇头坐标是否与食物坐标一致,是的话,蛇的长度+1(相当于记录蛇坐标的元素多一个) 3. 判断蛇吃食物的方向,在相反的方向建立新的节点 10.记录分数 步骤 1.每吃一个食物记录一次分数,建立全局变量 2. 在窗口显示分数 在窗口显示分数函数的用法 SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),rd); 第一个参数:窗口的句柄 第二个参数:距离句柄(0,0)的相对位置,要设置rd.x,rd.y的值,是COORD类型

文档评论(0)

heroliuguan + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8073070133000003

1亿VIP精品文档

相关文档