贪吃蛇c语言源代码彩色版,贪吃蛇C语言源代码
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#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语言源代码相关推荐
- 软件实习项目2——贪吃喵(猫吃鱼版贪吃蛇)(代码实现)
软件实习项目2--贪吃喵(猫吃鱼版贪吃蛇)(代码实现) 类变量的定义以及类的初始化__init__ 一.游戏的逻辑 1.猫头的生成 2.鱼的生成 3.猫头和鱼骨的移动 4.按下键盘,改变方向 二.主窗 ...
- 软件实习项目2——贪吃喵(猫吃鱼版贪吃蛇)(实验准备与设计)
软件实习项目2--贪吃喵(猫吃鱼版贪吃蛇)(实验准备与设计) 实验内容 编程语言以及开发环境的选择 实验思路(游戏设计) 一.游戏的逻辑设计 1.猫头的生成 2.鱼的生成 3.猫头和鱼骨的移动 4.按 ...
- 软件实习项目2——贪吃喵(猫吃鱼版贪吃蛇)(成品展示)
软件实习项目2--贪吃喵(猫吃鱼版贪吃蛇)(成品展示) 成品展示 1.开始游戏界面 2.游戏主界面 3.结束游戏界面 视频演示 成品展示 1.开始游戏界面 速度选择: 猫咪类型选择: 2.游戏主界面 ...
- dellemc服务器中文语言设置,美版windows10系统设置中文语言的方法
为了获得更好的体验,一些用户会去尝试新的Windows10泄漏版本,此时他们可能会遇到美(英语)版的Win10系统.那么,如果希望美版win10系统切换回中文语言该如何操作呢?下面,就随小编看看具体方 ...
- 数据结构c语言王海燕版课后答案,c语言程序设计实验指导(学生用).doc
c语言程序设计实验指导(学生用).doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印. ...
- 数据结构使用c语言第5版答案,数据结构(c语言版)第五章答案.doc
数据结构(c语言版)第五章答案.doc 第五章1.设二维数组A[8][10]是一个按行优先顺序存储在内存中的数组,已知A[0][0]的起始存储位置为1000,每个数组元素占用4个存储单元,求(1)A[ ...
- 哈工大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[ ...
- c程序语言第四版实验报告,C语言程序设计第四次实验报告
C语言程序设计第四次实验报告 姓名:熊毅 实验地点:家 实验时间:2020.04.09 实验项目: 5.3.1练习2 求数列的前n项和 5.3.2练习2 求水仙花数 5.3.4 十进制转换 5.3.5 ...
- 单片机c语言第三版答案,单片机C语言应用程序设计马忠梅课后习题答案
第一章 1.8051单片机由哪几部分组成? 8位中央处理器CPU.片内振荡电器及其时钟电路,4个8位并行I/O口(其中P0和P2可用于外部存储器的扩展),2个16位定时器/计数器,5个中断源(具有2个 ...
- java实现蛇蛇大作战_蛇蛇大作战3D旋涡版
蛇蛇大作战3D旋涡版是一款趣味的手机游戏,在这里用户需要做的就是不断的寻找各种的游戏的亮点.这个过程是十分有趣的,喜欢的用户能在这里控制着你的蛇在游戏中不断的吞噬各种的小球,这里的每一个小球都是十分有 ...
最新文章
- 怎么看b树是几阶_看我在B站上怎么学习的
- iOS开发笔记(十七):持久化方案之 NSUserDefaults
- Web前端开发代码规范(基础)
- 困境中的帮助者与被助者
- 学计算机的用surface,11个高效利用Surface处理工作学习任务的方法 - Surface 使用教程...
- 图像处理中各种边缘检测的微分算子简单比较(Sobel,Robert, Prewitt,Laplacian,Canny) 【转】
- java实现分页序号问题_java 分页查询的实现
- 《深度学习》之 VGG卷积神经网络 原理 详解
- JWT 帮助类 JWTHelper
- 天池-小布助手对话短文本语义匹配 复赛rank3、决赛rank4代码及解决方案
- MySQL数据误删恢复
- 整型转换为32位二进制字符串
- 微信小程序 小程序全局数据共享(笔记)
- android 设置布局宽度,Android布局宽度为50%
- Linux网络知识详解以及demo(Centos6、7)——OSI、TCP、UDP、IP、子网掩码/划分、网关、路由、广播、虚拟网络、网卡、交换机、DNS、ARP
- 简单解决高分屏模糊问题
- 生产制造业订单管理软件如何做好订单变更管理?
- 互联网平台思维与互联网思维(科技财经频道)
- 安卓 虚拟按键显示与隐藏适配
- GaussDB-关系性数据库架构的演进