c语言贪吃蛇制作过程

上传人:飞****9 文档编号:131869901 上传时间:2020-05-10 格式:DOC 页数:16 大小:342.74KB
返回 下载 相关 举报
c语言贪吃蛇制作过程_第1页
第1页 / 共16页
c语言贪吃蛇制作过程_第2页
第2页 / 共16页
c语言贪吃蛇制作过程_第3页
第3页 / 共16页
c语言贪吃蛇制作过程_第4页
第4页 / 共16页
c语言贪吃蛇制作过程_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《c语言贪吃蛇制作过程》由会员分享,可在线阅读,更多相关《c语言贪吃蛇制作过程(16页珍藏版)》请在金锄头文库上搜索。

1、 C语言贪吃蛇制作过程流程图如下:具体代码如下#include head.h#include#include#include#include#include#include#pragma comment(lib,winmm.lib)void Page();/显示界面void Mps();/播放音乐void Check();/检查空格void Stopm();/停止音乐void shows2();/画背景void SetSnake();/设置蛇的位置void DrawSnake();/画蛇void SnakeMove();/蛇的移动void DeleteSnake();/销毁蛇void Chan

2、geDir();/蛇随方向动起来bool SnakeDie();/判断蛇是否死亡void ProduceFood();/随机产生食物void SnakeGrow();/蛇变长void Score();/分数void Page()/显示界面 printf(nnnn);printf(tttt欢迎来到贪吃蛇世界n);printf(tttt 按空格开始游戏n);printf(tttt w,a,s,d,控制方向n);/*void Mps()/播放声音PlaySound(E:霍旭祥st.wav ,NULL,SND_FILENAME | SND_ASYNC);*/void Check()/检测空格char

3、input;while(1) input = _getch();/按空格键停止播放音乐 if( =input) break; /*void Stopm()/停止音乐PlaySound(NULL,0,0);/PlaySound(NULL,0,0);*/画背景void shows2()int i=0;for(i=0;i=1;i-)if(0=Snakei1)continue;/过滤非法蛇身/把前一个节点赋值给后一个节点Snakei0=Snakei-10;Snakei1=Snakei-11;Snakei2=Snakei-12;/处理蛇头Snake02=SnakeDir;/蛇头方向if(west=Sna

4、ke02|east=Snake02)/判断东西Snake01+=Snake02;/Snake01为列else/南北Snake00+=Snake02;/Snake00为行DrawSnake();void DeleteSnake()/销毁蛇int i=0;for(i=0;Snakei0!=0;i+)strncpy(&ground2Snakei0Snakei1 , ,2);void ChangeDir()/蛇随方向动起来if(GetAsyncKeyState(W)if(south!=Snake02)SnakeDir=north;else if(GetAsyncKeyState(S)if(north!

5、=Snake02)SnakeDir=south;else if(GetAsyncKeyState(A)if(east!=Snake02)SnakeDir=west;else if(GetAsyncKeyState(D)if(west!=Snake02)SnakeDir=east;bool SnakeDie()/判断蛇是否死亡if(west=Snake02|east=Snake02)/判断东西/蛇头的下一个是方块就死亡if(0=strncmp(&ground2Snake00Snake01+Snake02,2)return false;else/南北if(0=strncmp(&ground2Sna

6、ke00+Snake02Snake01,2)return false;return true;void ProduceFood()/随机产生食物/产生随机目标 int i;/行和列 bool flag=true; if(false=ProFood)/判断是否产生新的食物; return ; srand(unsigned int)time(NULL); while(1) g_line=rand()%16+2; g_row=rand()%18+2; for(i=0;Snakei0!=0;i+) if(g_line=Snakei0&g_row=Snakei1) flag=false; break;

7、if(true=flag) break; /坐标画食物 strncpy(&ground2g_lineg_row*2,2); ProFood=false;void SnakeGrow()/蛇变长/蛇头坐标与食物坐标相同if(g_line=Snake00&g_row*2=Snake01)if(east=Snakeg_Snakelen2)Snakeg_Snakelen+10=Snakeg_Snakelen0;Snakeg_Snakelen+11=Snakeg_Snakelen1-2;Snakeg_Snakelen+12=Snakeg_Snakelen2;else if(west=Snakeg_Sna

8、kelen2)Snakeg_Snakelen+10=Snakeg_Snakelen0;Snakeg_Snakelen+11=Snakeg_Snakelen1+2;Snakeg_Snakelen+12=Snakeg_Snakelen2;else if(south=Snakeg_Snakelen2)Snakeg_Snakelen+10=Snakeg_Snakelen0-1;Snakeg_Snakelen+11=Snakeg_Snakelen1;Snakeg_Snakelen+12=Snakeg_Snakelen2;else if(north=Snakeg_Snakelen2)Snakeg_Snak

9、elen+10=Snakeg_Snakelen0+1;Snakeg_Snakelen+11=Snakeg_Snakelen1;Snakeg_Snakelen+12=Snakeg_Snakelen2;g_Snakelen+;ProFood=true;g_Score+;void Score()COORD rd;rd.X=55;rd.Y=8;/设置光标位置SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),rd);/打印printf(分数);rd.X=56;rd.Y=9;/设置光标位置SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),rd);/打印printf(%d,g_Score);int main(void) Page();/显示页面 /Mps();/播放音乐 Check(); /Stopm();/按空格键停止播放音乐 system(cls);/清屏; /游戏界面 SetSnake();/设置蛇的位置 shows2(); while(1) system(cls);ProduceFood(); SnakeGrow();/蛇变长 ChangeDir();/改变方向; if(false=SnakeDie()/判断死亡 printf(

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > IT计算机/网络 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号