




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
贪吃蛇源代码完美运行,结尾附图#include #include #include #include int printMap(int map16);void moveBox(int map16,int x,int y,int select,int map216);int insert(int map16,int map216,int sum);void UI();void img1();void img2();void img3();void img4();void img5();void img6();void color(int b) /颜色函数 HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE) ; SetConsoleTextAttribute(hConsole,b) ; void img1() int map21416; int i,j,sum=0; int map1416= 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0, 0,0,0,0,0,0,1,3,1,0,0,0,0,0,0,0, 0,0,0,1,1,1,1,4,1,0,0,0,0,0,0,0, 0,0,0,1,3,2,4,6,1,1,1,0,0,0,0,0, 0,0,0,1,1,1,4,2,4,3,1,0,0,0,0,0, 0,0,0,0,0,1,2,1,1,1,1,0,0,0,0,0, 0,0,0,0,0,1,3,1,0,0,0,0,0,0,0,0, 0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, ; for(i=0;i14;i+) for(j=0;j16;j+) map2ij=mapij; if(mapij = 3 | mapij = 5) sum+; insert(map,map2,sum); img2();void img2() int map21416; int i,j,sum=0; int map1416= 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0, 0,0,0,0,1,2,6,3,3,3,1,0,0,0,0,0, 0,0,0,0,1,2,2,2,2,2,1,1,0,0,0,0, 0,0,0,1,1,1,4,2,2,2,2,1,0,0,0,0, 0,0,0,1,2,2,2,2,2,2,2,1,0,0,0,0, 0,0,0,1,2,4,2,1,4,1,2,1,0,0,0,0, 0,0,0,1,2,2,2,1,2,2,2,1,0,0,0,0, 0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, ; for(i=0;i14;i+) for(j=0;j16;j+) map2ij=mapij; if(mapij = 3 | mapij = 5) sum+; insert(map,map2,sum); img3();void img3() int map21416; int i,j,sum=0; int map1416= 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0, 0,0,0,0,1,2,2,6,1,0,0,0,0,0,0,0, 0,0,0,0,1,2,4,4,1,0,1,1,1,0,0,0, 0,0,0,0,1,2,4,2,1,0,1,3,1,0,0,0, 0,0,0,0,1,1,1,2,1,1,1,3,1,0,0,0, 0,0,0,0,0,1,1,2,2,2,2,3,1,0,0,0, 0,0,0,0,0,1,2,2,2,1,2,2,1,0,0,0, 0,0,0,0,0,1,2,2,2,1,1,1,1,0,0,0, 0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, ; for(i=0;i14;i+) for(j=0;j16;j+) map2ij=mapij; if(mapij = 3 | mapij = 5) sum+; insert(map,map2,sum); img4();void img4() int map21416; int i,j,sum=0; int map1416= 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0, 0,0,0,0,0,0,1,2,2,1,0,0,0,0,0,0, 0,0,0,0,0,1,1,2,2,1,0,0,0,0,0,0, 0,0,0,0,0,1,6,4,2,1,0,0,0,0,0,0, 0,0,0,0,0,1,1,4,2,1,1,0,0,0,0,0, 0,0,0,0,0,1,1,2,4,2,1,0,0,0,0,0, 0,0,0,0,0,1,3,4,2,2,1,0,0,0,0,0, 0,0,0,0,0,1,3,3,5,3,1,0,0,0,0,0, 0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, ; for(i=0;i14;i+) for(j=0;j16;j+) map2ij=mapij; if(mapij = 3 | mapij = 5) sum+; insert(map,map2,sum); img5();void img5() int map21416; int i,j,sum=0; int map1416= 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0, 0,0,1,1,1,1,2,2,2,2,2,1,0,0,0,0, 0,0,1,2,2,2,3,1,1,1,2,1,0,0,0,0, 0,0,1,2,1,2,1,2,2,2,2,1,1,0,0,0, 0,0,1,2,1,2,4,2,4,1,3,2,1,0,0,0, 0,0,1,2,1,2,2,5,2,2,1,2,1,0,0,0, 0,0,1,2,3,1,4,2,4,2,1,2,1,0,0,0, 0,0,1,1,2,2,2,2,1,2,1,2,1,1,1,0, 0,0,0,1,2,1,1,1,3,2,2,2,2,6,1,0, 0,0,0,1,2,2,2,2,2,1,1,2,2,2,1,0, 0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, ; for(i=0;i14;i+) for(j=0;j16;j+) map2ij=mapij; if(mapij = 3 | mapij = 5) sum+; insert(map,map2,sum); img5();void img6() int map21416; int i,j,sum=0; int map1416= 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0, 0,0,0,0,0,1,3,2,3,2,3,1,0,0,0,0, 0,0,0,0,0,1,2,4,4,4,2,1,0,0,0,0, 0,0,0,0,0,1,3,4,6,4,3,1,0,0,0,0, 0,0,0,0,0,1,2,4,4,4,2,1,0,0,0,0, 0,0,0,0,0,1,3,2,3,2,3,1,0,0,0,0, 0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, ; for(i=0;i14;i+) for(j=0;j16;j+) map2ij=mapij; if(mapij = 3 | mapij = 5) sum+; insert(map,map2,sum);int insert(int map16,int map216,int sum) int i,j; int x,y; /人的位置 char op; /所按下的方向键 int num = 0; /还剩下几个箱子没有推向目的地 while(1) for(i=0;i14;i+) for(j=0;j16;j+) if(mapij = 6) goto found; found: x = i; y = j; system(cls); num = printMap(map); if(num = sum) printf( 你通关了.n); return 0; else op = getch(); if(op = Q) | (op =q) printf(退出.n); return 2; op = getch(); switch(op) case 72: /上箭头 moveBox(map,x,y,1,map2); break; case 75: /左箭头 moveBox(map,x,y,2,map2); break; case 77: /右箭头 moveBox(map,x,y,3,map2); break; case 80: /下箭头 moveBox(map,x,y,4,map2); break; default: break; int printMap(int map16) int i,j; int count = 0; for(i=0;i14;i+) for(j=0;j16;j+) switch(mapij) case 0: /空地 printf( ); break; case 1: /墙 color(13); printf(); break; case 2: /内部空地 printf( ); break; case 3: /目的地 color(11); printf(); break; case 4: /箱子 color(8); printf(); break; case 5: /箱子推到目的地后显示 count+; color(9); printf(); break; case 6: /小人 color(10); printf(); break; printf(n); printf(nn); printf(按方向键操作游戏,按Q退出!n); return count;void moveBox(int map16,int x,int y,int select,int map216) int x1,y1; /下个位置的坐标 int x2,y2; /下下个位置的坐标 switch(select) case 1: /向上移动 x1 = x - 1; y1 = y; x2 = x - 2; y2 = y; break; case 2: /向左移动 x1 = x; y1 = y - 1; x2 = x; y2 = y - 2; break; case 3: /向右移动 x1 = x; y1 = y + 1; x2 = x; y2 = y + 2; break; case 4: /向下移动 x1 = x + 1; y1 = y; x2 = x + 2; y2 = y; break; default: break; /operate map switch(mapx1y1) case 1: /墙,不动 break; case 2: if(map2xy = 3)/空格,分情况变换 mapx1y1 = 6; mapxy = 3; else mapx1y1 = 6; mapxy = 2; break; case 3: if(map2xy = 3)/目的地,分情况变换 mapx1y1 = 6; mapxy = 3; else mapx1y1 = 6; mapxy = 2; break; case 4: if(mapx2y2 = 3) mapx2y2 = 5; mapx1y1 = 6; if(map2xy = 2 | map2xy = 6) mapxy = 2; else if(map2xy = 3) mapxy = 3; else mapxy = 2; else if(mapx2y2 = 2 | map2xy = 6) mapx2y2 = 4; mapx1y1 = 6; if(map2xy = 2 | map2xy = 6) mapxy = 2; else if(map2xy = 3) mapxy = 3; else mapxy = 2; break; case 5: if(map2xy = 2 | map2xy = 6) & map2x2y2 = 3) mapx2y2 = 5; mapx1y1 = 6; mapxy = 2; else if(map2xy = 3 & mapx2y2 = 3) mapx2y2 =
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024中铁物资集团西北有限公司公开招聘笔试参考题库附带答案详解
- 初中物理人教版八年级下册11.4 机械能及其转化教学设计
- 七年级语文下册第四单元14叶圣陶先生二三事教案新人教版
- 包班制教学培训
- 人教版数学五年级下第三单元第3课时 练习课教案
- 专题十五走进社会生活(教学设计)2024年八年级上册道德与法治部编版上册
- 城乡居民医疗保险业务培训
- (三模)2025年宝鸡市高考模拟检测试题 (三)语文试卷(含答案)
- 初中政治 (道德与法治)人教部编版九年级下册第一单元 我们共同的世界第二课 构建人类命运共同体推动和平与发展第一课时教案及反思
- 车间大修安全教育培训
- 高中政治联考分析报告
- 变电站施工应急预案
- 主题活动12:小班语言活动《狼和七只小羊》
- 眼科护理中的安全风险评估与控制策略
- 【气流粉碎机的设计及计算8800字】
- 智能汽车行业产业研究系列(三):智能汽车软硬件产品齐发力CES展示汽车酷炫新亮点
- 2024年信诚人寿保险公司招聘笔试参考题库含答案解析
- 驾驶员月度安全会议签到表模板
- 种植甜叶菊的效益分析
- Unit5 A party (1) 课件 牛津译林版六年级下册英语
- 王阳明与心学
评论
0/150
提交评论