贪吃蛇c语言源代码彩色版,贪吃蛇C语言源代码

article/2025/10/23 10:33:28

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

e5107c45e8796b35a11dccc94d2b7008.png

#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);

}

}

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


http://chatgpt.dhexx.cn/article/tMeyQJTy.shtml

相关文章

C语言贪吃蛇游戏代码,贪吃蛇C语言代码实现大全

一、C语言贪吃蛇代码实现前言 设计贪吃蛇游戏的主要目的是让大家夯实C语言基础&#xff0c;训练编程思维&#xff0c;培养解决问题的思路&#xff0c;领略多姿多彩的C语言。 贪吃蛇是非常经典的一款游戏&#xff0c;本次我们模拟在控制台实现贪吃蛇游戏&#xff0c;也就是实现…

C语言入门项目篇:贪吃蛇(完整代码+详细注释)

C语言入门项目篇:贪吃蛇 可直接运行。 #include <stdio.h> #include <stdlib.h> #include <windows.h> #include <time.h> #include <conio.h> /*大一上的时候C语言入门学的一个小游戏。还是挺有意思的&#xff0c;有兴趣的同学可以继续优化下&…

完整!贪吃蛇游戏c语言代码分享(包括界面,计数,提示)

最近看到身边有些朋友抱怨&#xff0c;网上的贪吃蛇项目完整源码太少&#xff0c;或者说运行不了&#xff0c;甚至还有花钱购买的情况&#xff0c;作为你们的过来人&#xff0c;学长了解你们期末考试的苦&#xff0c;今天的博客我就不啰嗦&#xff0c;我直接放代码给你们。 所有…

C7-如何学好C语言

1&#xff1a;必须实践--敲代码 2&#xff1a;画图理解--内存布局 3&#xff1a;调试&#xff01;调试&#xff01; 课本推荐&#xff1a;

学好C语言从关键字开始

目录 1、C语言数据类型 2、变量的命名规则 3、最冤枉的关键字——sizeof 4、signed和unsigned 原、反、补 深入理解变量内容的存入和取出 大小端 1、C语言数据类型 在学习C语言数据类型之前&#xff0c;我们得先了解&#xff1a;为什么要有类型&#xff1f; 类型为什…

【c语言】如何学好c语言?c语言应该怎么去学?

大家好&#xff0c;我是想要慢慢变得优秀的向阳同学&#xff0c;谢谢大家的支持&#xff01;让我这个菜鸟博主可以有非常开心的收获1000的浏览量和200的粉丝&#xff01;我也会不断努力去持续分享一下高质量的博客内容的&#xff01;再次感谢大家的支持&#xff01;如果觉得我的…

python open函数编码_python中的open函数如何编码?

python中的open函数可以通过在打开文件时添加encoding参数来指定使用的编码方式&#xff0c;encoding表示的是返回的数据采用何种编码。 open()的函数原型&#xff1a;open(file, mode‘r, buffering-1, encodingNone, errorsNone, newlineNone, closefdTrue) 从官方文档中我…

open函数和 write函数

问题 Python内置多种函数与第三方库&#xff0c;本文对python中的open()函数和 write函数进行简单的讲解。 方法 open()函数 open()函数用于创建或打开指定文件&#xff0c;该函数的常用语法格式: open(name[,mode[,buffering]]) name : 要创建或打开文件的文件名称&#xff0c…

python open函数用法_Python使用open函数打开文件的常用模式

python 中open()的用法? open("/path/to/my/image.png", "rb") 中的‘rb’代表了什么意思?所有试图感动你而做的事,最终都只感动了小编自己。 r表示只读,b表示二进制 与此对应的是w表示可写,t表示文本方式打开。 再增加一些官方的解释: >>>…

linux中open函数详解

1、open函数 包含头文件 #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> open函数有两个参数和三个参数 int open(const char *pathname, int flags); int open(const char *pathname, int flags, mode_t mode); Pathname:要打开的文件名…

python open函数默认路径_Python open函数打开文件路径

要以读文件的模式打开一个文件对象,使用Python内置的open()函数,传入文件名和标示符,标示符r表示读。 >>> f = open(D:/test.txt,r) 注意了,对初学python的同学而言,open()函数着实存在一个不大不小的坑,而且十分不容易发现。 错误演示: >>> f = open…

linux open详解,Linux系统open函数详解

Linux系统中open函数主要作用就是打开和创建文件,可以根据参数来定制我们需要的文件的属性和用户权限等各种参数,下面良许教程网为大家分享一下Linux系统open函数具体使用方法。 一、open函数用来干什么 open函数在Linux下一般用来打开或者创建一个文件,我们可以根据参数来定…

第9.2节 Python的文件打开函数open详解

一、 引言 在操作一个文件前&#xff0c;大部分情况需要先打开文件&#xff0c;才能进行&#xff0c;在Python中使用内置函数open来打开一个文件。open函数是Python的一个内置函数&#xff0c;io模块 定义的函数open是该内置函数的同义词&#xff08;这是Python官网中关于io.op…

Python open 函数

open 函数语法 open() 函数的作用是打开一个文件,并返回一个 file对象(即文件对象)。 open 是一个动作,可以理解为我们打开文档的点击动作。 file 对象是一个实物,可以理解为我们打开的具体文档,例如记事本、表格、Word 或其他具体的文档。 open() 函数的语法为: f =…

Linux 文件IO学习之open函数深入了解

open()函数是在学习文件IO中的第一个函数。作用是打开一个文件&#xff0c;或者创建出一个文件。 需要注意的是&#xff0c;能实现这样功能的函数其实有两套&#xff0c;一个是系统IO所提供的open()函数&#xff0c;一个是标准IO提供的fopen()函数。(二者对比放在最后) 先看看…

Python open函数详解

演示环境&#xff0c;操作系统&#xff1a;Win10 21H2&#xff08;64bit&#xff09;&#xff1b;Python解释器&#xff1a;3.8.10。 open是Python的一个内置函数&#xff0c;一般用于本地文件的读写操作。用法如下。 my_file open(file, mode, buffering, encoding, errors…

sql去重查询

背景&#xff1a; 项目有消息推送&#xff0c;根据消息推送记录&#xff0c;筛选出一共有哪几种消息类型&#xff0c;并且标题和文本是什么 表部分结构如图&#xff1a; 主要是根据subject来去重所有数据&#xff0c;难点是&#xff0c;使用distinct的话&#xff0c;无法显示…

sql 去重查询 distinct

sql 去重查询 select Distinct UserId,Name from UserInfo where UserType1 介绍 distinct一般是用来去除查询结果中的重复记录的&#xff0c;而且这个语句在select、insert、delete和update中只可以在select中使用&#xff0c; 具体的语法如下&#xff1a; select distinc…

SQL去重的三种方法

目录 1.distinct去重 2.group by去重 3.row_number() over (parttion by 分组列 order by 排序列) 有这么一张test的表, 我们将对这张表进行操作来自验证去重 这里的去重&#xff1a;查询的时候, 不显示重复&#xff0c;并不是删除表中的重复项 1.distinct去重 只能一列去…

SQL去重方法汇总

更多教程请到友情连接&#xff1a; 菜鸟教程https://www.piaodoo.com 茂名一技http://www.enechn.com ppt制作教程步骤 http://www.tpyjn.cn 兴化论坛http://www.yimoge.cn 电白论坛 http://www.fcdzs.com 在使用SQL提数的时候&#xff0c;常会遇到表内有重复值的时候&…