该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

#include

#include

#include

#include

typedef struct snake

{

int a;

int b;

struct snake *u;

struct snake *n;

}snake,*snake1;

typedef struct food

{

int a;

int b;

}food;

void main()

{

char c,c0 = 'd';

int i,j,k,n=1,t,at;

snake p,q;

snake *dd,*dd0,*dd1,*dd2;

food f;

srand(time(NULL));

p.u = NULL;

p.n = &q;

p.a = 5;p.b = 6;q.a = 5;q.b = 5;

q.u = &p;q.n = NULL;

dd=dd2= &q;

f.a=(rand()%15+1);

f.b=(rand()%15+1);

while(1)

{

srand(time(NULL));

system("cls");

for(i = 0;i < 17;i ++)

{

for(j = 0; j < 17;j++)

{

if(i == 0 )

printf("¨x");

else if(i == 16)

printf("¨‰");

else if(j == 0)

printf("¨Š");

else if(j == 16)

printf("¨‡");

else if(i == p.a && j == p.b)

printf("¡ö");

else if(i == f.a && j == f.b)

printf("¡ï");

else

{

t = 0;

dd = dd2;

for(k = 0; k < n ;k++)

{

if(i == dd->a && j == dd->b)

{

printf("¡õ");

t = 1;

break;

}

dd = dd->u;

}

if(t == 0)

printf(" ");

}

}printf(\");

}

at = 0;

dd =dd2;

for(i=0;i

{

if(p.a == dd->a && p.b == dd->b)

{

printf("game over!\n");

exit(0);

}

dd = dd->u;

}

if(p.a == f.a && p.b == f.b)

{

dd = dd2;

at =1;

f.a = (rand()%15+1);

f.b = (rand()%15+1);

for(i=0;i

{

if(f.a == dd->a && f.b == dd->b)

{

f.a = dd2->a;

f.b = dd2->b;

break;

}

}

n++;

}

if(kbhit())

{

c = getch();

dd = dd2;

if(c == 'w' && c0 != 's')

{

if(at == 1)

{

dd0 =(snake1)malloc(sizeof(snake));

dd0->a = dd2->a;dd0->b = dd2->b;

dd0->n = NULL;dd0->u = dd2;

dd2=dd0;

}

dd = dd2;

for(i = 0; i

{

dd1 = dd->u;

dd->b = dd1->b;

dd->a = dd1->a;

dd = dd->u;

}

if(p.a == 1)

p.a = 15;

else

p.a = (p.a-1)%15;

}

else if(c == 's' && c0 != 'w')

{

if(at == 1)

{

dd0 =(snake1)malloc(sizeof(snake));

dd0->a = dd2->a;dd0->b = dd2->b;

dd0->n = NULL;dd0->u = dd2;

dd2=dd0;

}

dd = dd2;

for(i = 0; i

{

dd1 = dd->u;

dd->b = dd1->b;

dd->a = dd1->a;

dd = dd->u;

}

p.a = (p.a%15)+1;

}

else if(c == 'a' && c0 != 'd')

{

if(at == 1)

{

dd0 =(snake1)malloc(sizeof(snake));

dd0->a = dd2->a;dd0->b = dd2->b;

dd0->n = NULL;dd0->u = dd2;

dd2=dd0;

}

dd = dd2;

for(i = 0; i

{

dd1 = dd->u;

dd->b = dd1->b;

dd->a = dd1->a;

dd = dd->u;

}

if(p.b == 1)

p.b = 15;

else

p.b = (p.b-1)%15;

}

else if(c == 'd' && c0 != 'a')

{

if(at == 1)

{

dd0 =(snake1)malloc(sizeof(snake));

dd0->a = dd2->a;dd0->b = dd2->b;

dd0->n = NULL;dd0->u = dd2;

dd2=dd0;

}

dd = dd2;

for(i = 0; i

{

dd1 = dd->u;

dd->b = dd1->b;

dd->a = dd1->a;

dd = dd->u;

}

p.b = (p.b%15)+1;

}

else

{

goto qq;

}

c0 = c;

}

else

{

qq:if(c0 == 'w')

{

if(at == 1)

{

dd0 =(snake1)malloc(sizeof(snake));

dd0->a = dd2->a;dd0->b = dd2->b;

dd0->n = NULL;dd0->u = dd2;

dd2=dd0;

}

dd = dd2;

for(i = 0; i

{

dd1 = dd->u;

dd->b = dd1->b;

dd->a = dd1->a;

dd = dd->u;

}

if(p.a == 1)

p.a = 15;

else

p.a=(p.a-1)%15;

}

else if(c0 == 's')

{

if(at == 1)

{

dd0 =(snake1)malloc(sizeof(snake));

dd0->a = dd2->a;dd0->b = dd2->b;

dd0->n = NULL;dd0->u = dd2;

dd2=dd0;

}

dd = dd2;

for(i = 0; i

{

dd1 = dd->u;

dd->b = dd1->b;

dd->a = dd1->a;

dd = dd->u;

}

p.a=(p.a%15)+1;

}

else if(c0 == 'a')

{

if(at == 1)

{

dd0 =(snake1)malloc(sizeof(snake));

dd0->a = dd2->a;dd0->b = dd2->b;

dd0->n = NULL;dd0->u = dd2;

dd2=dd0;

}

dd = dd2;

for(i = 0; i

{

dd1 = dd->u;

dd->b = dd1->b;

dd->a = dd1->a;

dd = dd->u;

}

if(p.b == 1)

p.b = 15;

else

p.b=(p.b-1)%15;

}

else if(c0 == 'd')

{

if(at == 1)

{

dd0 =(snake1)malloc(sizeof(snake));

dd0->a = dd2->a;dd0->b = dd2->b;

dd0->n = NULL;dd0->u = dd2;

dd2=dd0;

}

dd = dd2;

for(i = 0; i

{

dd1 = dd->u;

dd->b = dd1->b;

dd->a = dd1->a;

dd = dd->u;

}

p.b=(p.b%15)+1;

}

}

fflush(stdin);

dd = &q;

_sleep(200);

}

}

更多精彩请关注:编程小白

贪吃蛇c语言源代码彩色版,贪吃蛇C语言源代码相关推荐

  1. 软件实习项目2——贪吃喵(猫吃鱼版贪吃蛇)(代码实现)

    软件实习项目2--贪吃喵(猫吃鱼版贪吃蛇)(代码实现) 类变量的定义以及类的初始化__init__ 一.游戏的逻辑 1.猫头的生成 2.鱼的生成 3.猫头和鱼骨的移动 4.按下键盘,改变方向 二.主窗 ...

  2. 软件实习项目2——贪吃喵(猫吃鱼版贪吃蛇)(实验准备与设计)

    软件实习项目2--贪吃喵(猫吃鱼版贪吃蛇)(实验准备与设计) 实验内容 编程语言以及开发环境的选择 实验思路(游戏设计) 一.游戏的逻辑设计 1.猫头的生成 2.鱼的生成 3.猫头和鱼骨的移动 4.按 ...

  3. 软件实习项目2——贪吃喵(猫吃鱼版贪吃蛇)(成品展示)

    软件实习项目2--贪吃喵(猫吃鱼版贪吃蛇)(成品展示) 成品展示 1.开始游戏界面 2.游戏主界面 3.结束游戏界面 视频演示 成品展示 1.开始游戏界面 速度选择: 猫咪类型选择: 2.游戏主界面 ...

  4. dellemc服务器中文语言设置,美版windows10系统设置中文语言的方法

    为了获得更好的体验,一些用户会去尝试新的Windows10泄漏版本,此时他们可能会遇到美(英语)版的Win10系统.那么,如果希望美版win10系统切换回中文语言该如何操作呢?下面,就随小编看看具体方 ...

  5. 数据结构c语言王海燕版课后答案,c语言程序设计实验指导(学生用).doc

    c语言程序设计实验指导(学生用).doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印. ...

  6. 数据结构使用c语言第5版答案,数据结构(c语言版)第五章答案.doc

    数据结构(c语言版)第五章答案.doc 第五章1.设二维数组A[8][10]是一个按行优先顺序存储在内存中的数组,已知A[0][0]的起始存储位置为1000,每个数组元素占用4个存储单元,求(1)A[ ...

  7. 哈工大c语言第四版pdf,哈工大C语言讲义 指针.pdf

    哈工大C语言讲义 指针 指针 指指指针针针 数组与指针 a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] 指指指针针针 数组与指针 p a[0] a[ ...

  8. c程序语言第四版实验报告,C语言程序设计第四次实验报告

    C语言程序设计第四次实验报告 姓名:熊毅 实验地点:家 实验时间:2020.04.09 实验项目: 5.3.1练习2 求数列的前n项和 5.3.2练习2 求水仙花数 5.3.4 十进制转换 5.3.5 ...

  9. 单片机c语言第三版答案,单片机C语言应用程序设计马忠梅课后习题答案

    第一章 1.8051单片机由哪几部分组成? 8位中央处理器CPU.片内振荡电器及其时钟电路,4个8位并行I/O口(其中P0和P2可用于外部存储器的扩展),2个16位定时器/计数器,5个中断源(具有2个 ...

  10. java实现蛇蛇大作战_蛇蛇大作战3D旋涡版

    蛇蛇大作战3D旋涡版是一款趣味的手机游戏,在这里用户需要做的就是不断的寻找各种的游戏的亮点.这个过程是十分有趣的,喜欢的用户能在这里控制着你的蛇在游戏中不断的吞噬各种的小球,这里的每一个小球都是十分有 ...

最新文章

  1. 怎么看b树是几阶_看我在B站上怎么学习的
  2. iOS开发笔记(十七):持久化方案之 NSUserDefaults
  3. Web前端开发代码规范(基础)
  4. 困境中的帮助者与被助者
  5. 学计算机的用surface,11个高效利用Surface处理工作学习任务的方法 - Surface 使用教程...
  6. 图像处理中各种边缘检测的微分算子简单比较(Sobel,Robert, Prewitt,Laplacian,Canny) 【转】
  7. java实现分页序号问题_java 分页查询的实现
  8. 《深度学习》之 VGG卷积神经网络 原理 详解
  9. JWT 帮助类 JWTHelper
  10. 天池-小布助手对话短文本语义匹配 复赛rank3、决赛rank4代码及解决方案
  11. MySQL数据误删恢复
  12. 整型转换为32位二进制字符串
  13. 微信小程序 小程序全局数据共享(笔记)
  14. android 设置布局宽度,Android布局宽度为50%
  15. Linux网络知识详解以及demo(Centos6、7)——OSI、TCP、UDP、IP、子网掩码/划分、网关、路由、广播、虚拟网络、网卡、交换机、DNS、ARP
  16. 简单解决高分屏模糊问题
  17. 生产制造业订单管理软件如何做好订单变更管理?
  18. 互联网平台思维与互联网思维(科技财经频道)
  19. 安卓 虚拟按键显示与隐藏适配
  20. GaussDB-关系性数据库架构的演进

热门文章

  1. (一)GPS与基站定位
  2. 搜索引擎算法之同义词、近义词、上位词挖掘
  3. 如何将不清晰的扫描版pdf转为清晰的pdf或word
  4. 新媒体运营神器-迅捷旗下的这些媒体软件简直要逆天了!
  5. 1965: 求矩阵中最小元素及其位置
  6. 用u盘刻录装服务器系统盘,光盘系统刻录到U盘上教程
  7. U盘刻录系统之后变小
  8. 能源在线监测管理系统
  9. ACM 算法详细分类
  10. 解决Maven:com.oracle:ojdbc7-9.9.9.jar在pom文件无法下载问题