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("▁");
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("\n");
}
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;
}
c语言编写贪吃蛇难点解析,刚学C语言,想写一个贪吃蛇的代码相关推荐
- c语言贪吃蛇编写分析,刚学C语言,想写一个贪吃蛇的代码
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include #include #include typedef struct snake { int a; int b; stru ...
- 用C语言编写贪吃蛇项目描述,刚学C语言,想写一个贪吃蛇的代码
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include #include #include typedef struct snake { int a; int b; stru ...
- c语言编写贪吃蛇代码无错,刚学C语言,想写一个贪吃蛇的代码
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include #include #include typedef struct snake { int a; int b; stru ...
- 如何用c 语言编写贪吃蛇,刚学C语言,想写一个贪吃蛇的代码
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include #include #include typedef struct snake { int a; int b; stru ...
- c语言编写的贪吃蛇代码,刚学C语言,想写一个贪吃蛇的代码
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include #include #include typedef struct snake { int a; int b; stru ...
- 用c语言编一个贪吃蛇,刚学C语言,想写一个贪吃蛇的代码
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include #include #include typedef struct snake { int a; int b; stru ...
- c语言贪吃蛇运行代码,刚学C语言,想写一个贪吃蛇的代码
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include #include #include typedef struct snake { int a; int b; stru ...
- 贪吃蛇c语言代码数组,刚学C语言,想写一个贪吃蛇的代码
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include #include #include typedef struct snake { int a; int b; stru ...
- 怎么用c语言写一个贪吃蛇,刚学C语言,想写一个贪吃蛇的代码
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include #include #include typedef struct snake { int a; int b; stru ...
最新文章
- linux shell显示下载进度,shell脚本测试下载速度
- 超详细的java生成excel文件并下载
- MATLAB R2021a v9.10 for win 最新无限制中英文完美版 数据处理软件
- 编码:隐匿在计算机软硬件背后的语言(7)--存储器组织
- 机器学习学习吴恩达逻辑回归_机器学习基础:逻辑回归
- df满足条件的值修改_如何用python实现熵值法求指标权重(实例)
- python列表转化为元组、集合_如何在Python中将元组列表更改为集合?
- 一文学懂经典算法系列之:直接选择排序(附讲解视频)
- LRC软件测试自学,LRC滚动歌词制作编辑器
- php与sap系统,sap系统是什么系统
- Photoshop 深度学习 数据集标签制作 、注意事项 以及标签颜色的编码、统计和快速像素颜色替换(python)
- python xlwt模块下载_python 的xlwt模块
- arm架构下spinlock原理 (代码解读)
- CentOS系统下文件夹目录结构及其作用
- 无数的讽刺侮辱挖苦打击否定不屑与嘲笑,只有罗永浩才撑得住吧
- WHT, SLANT, Haar
- 华为鸿蒙P10plus,华为P10深度评测:徕卡双摄拍照逆天!
- 大学C语言字符串题目,[转载]大学C语言考试题精选
- [Git] Git整理(四) git rebase 的使用
- goss - 一个简洁的 golang 对象存储库