C语言贪吃蛇游戏部分源码
#includestdio.h
#includestdlib.h
#includeconio.h//consoleinputoutputgetch()
#includewindows.h
typedefstructbody
{
COORDpos;//该蛇身所处的坐标coordinate
structbody*next;//下一个蛇身
structbody*prev;//前一个蛇身
}BODY,*PBODY;
typedefenum{UP,DOWN,LEFT,RIGHT}Direct;//方向枚举
//画出贪吃蛇移动区域的边框
voidDrawBorder()
{
inti,j;
for(i=0;i15;++i)//魔数
{
for(j=0;j15;++j)
{
if(i==0
i==14)//第一行或最后一行SHIFT+
printf(■);
elseif(j==0
j==14)//第一列或最后一列
printf(■);
else
printf();
}
printf(\n);//打印完一行之后换行
}
}
//全局变量
HANDLEhout;
BODYhead={0};//头节点,它的下一个节点就是我们的蛇头
PBODYptail=NULL;//尾指针,它指向蛇的尾巴
Directdir=RIGHT;//蛇的方向,初始时为向右
//产生一个蛇头
voidInitialSnake(intx,inty)
{
COORDpos={x,y};
ptail=(PBODY)calloc(1,sizeof(BODY));
//malloc分配的内存空间,里面的数据是没有经过初始化的
//calloc分配内存时,会将里面全部赋值为0
ptail-pos=pos;
head.next=ptail;
ptail-prev=head;
SetConsoleCursorPosition(hout,pos);//把光标定位到蛇身指定的坐标处
printf(※);//打印蛇身
}
intmain()
{
hout=GetStdHandle(STD_OUTPUT_HANDLE);
DrawBorder();
InitialSnake(4,6);
system(pause);
return0;
}
再多的文字也表达不完我们要学的东西,所以希望需要学习的朋友可以直接到腾讯课堂看视频学习。双击原文链接,直接转入视频直播地址,每天晚上八点开始语音解答,每天晚上九点开始授课;遇到问题可以加我们的学习群;群里面找老鸟给你们解答C/C++疑难杂题要视屏课程,要学习资源可以加QQ群群文件下载
预览时标签不可点收录于合集#个上一篇下一篇