vc6完美运行贪吃蛇c源代码.docx

上传人:小飞机 文档编号:3168533 上传时间:2023-03-11 格式:DOCX 页数:19 大小:38.71KB
返回 下载 相关 举报
vc6完美运行贪吃蛇c源代码.docx_第1页
第1页 / 共19页
vc6完美运行贪吃蛇c源代码.docx_第2页
第2页 / 共19页
vc6完美运行贪吃蛇c源代码.docx_第3页
第3页 / 共19页
vc6完美运行贪吃蛇c源代码.docx_第4页
第4页 / 共19页
vc6完美运行贪吃蛇c源代码.docx_第5页
第5页 / 共19页
亲,该文档总共19页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《vc6完美运行贪吃蛇c源代码.docx》由会员分享,可在线阅读,更多相关《vc6完美运行贪吃蛇c源代码.docx(19页珍藏版)》请在三一办公上搜索。

1、vc6完美运行贪吃蛇c源代码/*贪吃蛇*/#include<stdio.h>#include<windows.h>#include<stdlib.h>#include<conio.h>#define HENG 80#define SHU 25 /HENG是宽度,SHU是高度#define TIME 400 /初始速度void Gotoxy(int x, int y);void Food(struct SHE *head);int Move(struct SHE *head);int Panduan(struct SHE *head, int x, int y);

2、struct SHE *Link(struct SHE *head);void FreeShe(struct SHE *head);void Gameover(void);void Huitu(struct SHE *head);int Fx, Fy; /食物的位置int fen; /得分int fang; /方向参数int Tx, Ty;/构造蛇身struct SHEint x;int y;struct SHE *next;int main(void)struct SHE *head = NULL;int temp;int times = TIME;char m;dofen = 0;fang

3、 = 2;temp = fen;times = TIME;head = NULL;head = (struct SHE *)malloc(sizeof(struct SHE);head -> x = 40;head -> y = 13;head -> next = NULL;Food(head);while (1)Huitu(head);Sleep(times);if (0 = Move(head)FreeShe(head);Gameover;break;if (temp < fen)Food(head);temp = fen;if (times > 50)times -=

4、10;else if (times > 20)times -=1;else;doGotoxy(19,21);printf(是否继续?Y/N:);scanf( %c, &m);system(cls); while (m != Y & m != y & m != n & m != N); while (m = Y | m = y);return 0;/绘图void Huitu(struct SHE *head)int flag = 1;while (head != NULL)Gotoxy(head -> x, head -> y);if (flag = 1)printf();else

5、if (flag = 2)printf();else;Gotoxy(Tx, Ty);printf( );flag+;head = head -> next;/用于光标的移动void Gotoxy(int x, int y) COORD coord; coord.X = x; coord.Y = y; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);/食物位置构造void Food(struct SHE *head)int flag = 0;struct SHE *pr = head;dosrand(GetTi

6、ckCount); /基于毫秒级的随机数产生办法,需头文件winbase.h, windows中设计程序可以用windows.hFx = (rand%40) * 2;Fy = (rand%12) * 2;flag = 0;pr = head;while (pr != NULL) /防止食物位置与蛇形重合if (pr -> x = Fx & pr -> y = Fy)flag = 1;break;pr = pr -> next; while (flag = 1);Gotoxy(Fx, Fy);printf();/用于蛇的移动int Move(struct SHE *head)char

7、 op;int tox, toy, flag, temp;if (kbhit) /kbhit函数用于检查当前是否有键盘输入,若有则返回一个非0值,否则返回0,需头文件conio.hop = getch;switch (op)case w:if (fang != 3)fang = 1;break;case d:if (fang != 4)fang = 2;break;case s:if (fang != 1)fang = 3;break;case a:if (fang != 2)fang = 4;break;default:break;switch (fang)case 1:toy = (hea

8、d -> y) - 1;tox = (head -> x);break;case 2:tox = (head -> x) + 2;toy = (head -> y);break;case 3:toy = (head -> y) + 1;tox = (head -> x);break;case 4:tox = (head -> x) - 2;toy = (head -> y);break;default:break;flag = Panduan(head, tox, toy);if (flag = 0)return 0; /game overelse if (fl

9、ag = 1)head = Link(head);fen+;else;while (head != NULL)temp = head -> x;head -> x = tox;tox = temp;temp = head -> y;head -> y = toy;toy = temp;head = head -> next;return 1;/用于食物与失败条件的判断int Panduan(struct SHE *head, int x, int y)int flag = 1;if (x < 0 | x > HENG - 1 | y < 0 | y > SH

10、U - 1)return 0; /撞墙while (head != NULL)if (head -> x = x & head -> y = y & flag != 1)return 0; /咬到自己flag+;if (head -> next = NULL)Tx = head -> x;Ty = head -> y;head = head -> next;if (x = Fx & y = Fy)return 1;/有食物return 2;/无异常/蛇身增长struct SHE *Link(struct SHE *head)struct SHE *p, *pr;pr =

11、 head;p = (struct SHE *)malloc(sizeof(struct SHE);if (p = NULL)printf(发生错误!);exit(0);if (head = NULL)head = p;elsewhile (pr -> next != NULL)pr = pr -> next;pr -> next = p;p -> x = Tx;p -> y = Ty;p -> next = NULL;return head;/释放内存void FreeShe(struct SHE *head)struct SHE *pr = NULL;while (

12、head != NULL)pr = head;head = head -> next;free(pr);/游戏失败画面,如果窗口大小不是80*25导致画面不协调可舍去void Gameover(void)int i,j;int aSHUHENG=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0

13、,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0

14、,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0

15、,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,1,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,1,1,1,1,0,0,0,0,0,1,0,0,0,1,1,0,1,1,0,1,1,1,1,1,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,1,1,1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,1,1,1,0,1,1,1,0,0,1,1,1,1,1,0,0,0,0,1,1,1,0,0,1,1,0,1,1,0,1

16、,1,1,1,1,0,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,1,1,0,1,1,1,0,1,1,0,1,1,0,0,0,0,0,0,1,1,0,1,1,0,1,1,0,1,1,0,1,1,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,1,1,1,0,1,1,0,1,1,0,0,0,0,0,0,1,1,0

17、,1,1,0,1,1,0,1,1,0,1,1,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,1,1,1,0,1,1,0,1,1,0,0,0,0,0,0,1,1,0,1,1,0,1,1,0,1,1,0,1,1,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,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,1,1,0,1,1,1,0,1,1,0,1

18、,1,1,1,1,0,0,0,1,1,0,1,1,0,1,1,0,1,1,0,1,1,1,1,1,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,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,1,1,0,1,1,1,0,1,1,0,1,1,1,1,1,0,0,0,1,1,0,1,1,0,1,1,0,1,1,0,1,1,1,1,1,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,1,1,0,0,1,1,1,1,1,0,1,1,0,0,0,1,1,0,1

19、,1,0,1,1,1,0,1,1,0,1,1,0,0,0,0,0,0,1,1,0,1,1,0,1,1,0,1,1,0,1,1,0,0,0,0,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,1,1,0,0,1,1,1,1,1,0,1,1,0,0,0,1,1,0,1,1,0,1,1,1,0,1,1,0,1,1,0,0,0,0,0,0,1,1,0,1,1,0,1,1,0,1,1,0,1,1,0,0,0,0,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,1

20、,0,1,1,0,0,0,1,1,0,1,1,0,1,1,1,0,1,1,0,1,1,0,0,0,0,0,0,1,1,0,1,1,0,1,1,0,1,1,0,1,1,0,0,0,0,1,1,0,0,1,1,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,0,1,0,1,1,0,0,0,1,1,0,1,1,0,1,1,1,0,1,1,0,1,1,1,1,1,0,0,0,0,1,1,1,0,0,0,1,1,1,0,0,1,1,1,1,1,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0

21、,0,0,0,0,1,1,1,0,0,1,0,1,1,0,0,0,1,1,0,1,1,0,1,1,1,0,1,1,0,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,1,1,1,1,1,0,1,1,0,0,0,0,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

22、,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0

23、,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0

24、,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0

25、,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;Gotoxy(0, 0);for (i = 0; i < SHU; i+)for (j = 0; j< HENG; j+)if (aij = 0)printf( );elseprintf(0);Gotoxy(19, 20);printf(游戏最终得分是 %d 分!n, fen);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号