




免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
/*这是一个贪吃蛇代码,运行环境vc+6.0(亲测完美运行)*/*该程序在dos系统下运行,不需要graphics.h头文件*/*该程序由c语言小方贡献,谢谢您的支持*/#include #include #include #include #include #include #define n 21int apple3;char score3;char tail3; void gotoxy(int x, int y) /输出坐标 coord pos; pos.x = x; pos.y = y; setconsolecursorposition(getstdhandle(std_output_handle), pos);void color(int b) /颜色函数 handle hconsole = getstdhandle(std_output_handle) ; setconsoletextattribute(hconsole,b) ; int block(char head2) /判断出界 if (head0 n) | (head1 n) return 1; return 0;int eat(char snake2) /吃了苹果 if (snake0 = apple0) & (snake1 = apple1) apple0 = apple1 = apple2 = 0; gotoxy(n+44,10); color(13); printf(%d,score0*10); color(11); return 1; return 0;void draw(char *snake, int len) /蛇移动 if (apple2) gotoxy(apple1 * 2, apple0); color(12); printf(); color(11); gotoxy(tail1 * 2, tail0); if (tail2) color(14); printf(); color(11); else printf(); gotoxy(snake01 * 2, snake00); color(14); printf(); color(11); putchar(n);char* move(char *snake, char dirx, int *len) /控制方向 int i, full = eat(snake0); memcpy(tail, snake(*len)-1, 2); for (i = (*len) - 1; i 0; -i) memcpy(snakei, snakei-1, 2); switch (dirx) case w: case w: -snake00; break; case s: case s: +snake00; break; case a: case a: -snake01; break; case d: case d: +snake01; break; default: ; if (full) snake = (char *)realloc(snake, sizeof(char *) * (*len) + 1); snake(*len) = (char *)malloc(sizeof(char) * 2); memcpy(snake(*len), tail, 2); +(*len); +score0; if(score3 16) +score3; tail2 = 1; else tail2 = 0; return snake;void init(char platen+2n+2, char *snake_x, int *len) /初始化 int i, j; char *snake = null; *len = 3; score0 = score3 =3; snake = (char *)realloc(snake, sizeof(char *) * (*len); for (i = 0; i *len; +i) snakei = (char *)malloc(sizeof(char) * 2); for (i = 0; i 3; +i) snakei0 = n/2 + 1; snakei1 = n/2 + 1 + i; for (i = 1; i = n; +i) for (j = 1; j = n; +j) plateij = 1; apple0 = rand()%n + 1; apple1 = rand()%n + 1; apple2 = 1; for (i = 0; i n + 2; +i) gotoxy(0, i); for (j = 0; j n + 2; +j) switch (plateij) case 0: color(12);printf();color(11); continue; case 1: printf(); continue; default: ; putchar(n); for (i = 0; i score0) gotoxy(10,10); color(12); puts(闯关失败 加油耶); gotoxy(0,n+2); return 0; if(fp = fopen(c:tcs.txt,w+) = null) printf(文件不能打开n); exit(0); if(fputc(-score0,fp)=eof) printf(输出失败n); gotoxy(10,10); color(12); puts(恭喜您打破记录); gotoxy(0,n+2); return 0;void free(char *snake, int len) /释放空间 int i; for (i = 0; i len; +i) free(snakei); free(snake);int main(void) int len; char ch = g; char an+2n+2 = 0; char *snake; srand(unsigned)time(null); color(11); file_in(); init(a, &snake, &len); manual(); while (ch != 0x1b) / 按 esc 结束 draw(snake, len); if (!apple2) apple0 = rand()%n + 1; apple1 = rand()%n + 1; apple2 = 1; sleep(200-score3*10); setbuf(stdin, null); if (kbhit() gotoxy(0, n+2); ch = getche(); snake =
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- Ezetimibe-13C6-SCH-58235-sup-13-sup-C-sub-6-sub-生命科学试剂-MCE
- 农发行沧州市盐山县2025秋招半结构化面试题库及参考答案
- 2025年风电场环境影响评价与区域发展规划报告
- 电商平台知识产权保护与数字版权管理2025年研究报告
- 2025年智能家居系统互联互通标准下的智能家居设备互联互通性测试报告
- 农发行泸州市合江县2025秋招面试典型题目及参考答案
- 电动汽车知识竞赛试题
- 2025注册会计师考试真题及答案
- 入门级销售生产计划考试题
- 工业互联网IPv6技术升级对设备联网的影响及部署实施报告
- 四年级上册数学教案 -平行与垂直 人教版
- 2022年工程机械行业发展现状分析
- 《函数的奇偶性》教学课件与导学案
- DB11-T 1796-2020文物建筑三维信息采集技术规程
- (完整版)工程流体力学课件(第四版)
- RCEP的机遇与挑战研究报告
- 非常规油气勘探开发
- 小学科学课堂存在的问题与解决方法
- 陕西污水处理定价成本监审办法
- 公司级安全技术交底内容
- GB T 3810.13-2016 陶瓷砖试验方法 第13部分:耐化学腐蚀性的测定
评论
0/150
提交评论