这次来分享一个我写的贪吃蛇小游戏程序(C语言)

最近暑假无事开始用C语言写一些小游戏小游戏程序,这个贪吃蛇当然是经典中的经典,所以先开始写。

文件引用

#include<redio.h>//输入输出
#include<time.h>//用于获取随机数
#include<windows.h>//控制DOS界面
#include<stdlib.h>//定义了一些宏和通用工具函数
#include<conio.h>  //     接收键盘输入输出

函数声明

    /**************************函数声明***************************/void gotoxy(int x,int y);         //设置光标位置
int  color(int c);                  //更改文字颜色
void printsnake();                  //字符画--蛇
void welcome();                     //开始界面
void createMap();                   //绘制地图
void scoreandtips();                //游戏界面右侧的积分和小提示
void initsnake();                   //初始化蛇身,花蛇身
void createfood();                  //创建并随机出现食物
int  biteself();                    //判断是否咬到自己
void cantcrosswall();               //设置蛇撞到墙的情况
void speedup();                     //加速
void speeddown();                   //减速
void snakemove();                   //控制蛇前进方向
void keyjianpan();                  //控制键盘按键
void Lostdraw();                        //游戏结束界面
void endgame();                     //游戏结束
void choose();                      //游戏失败之后的选择
void File_out();                    //在文件中读取最高分
void File_in();                     //储存最高分文件
void explation();                   //游戏说明

游戏欢迎界面

/********************游戏欢迎界面***********************/
int color(int c)      //颜色函数
{SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),c);//更改文字颜色return 0;
}void gotoxy(int x,int y)    //设置光标位置
{COORD c;c.X=x;c.Y=y;SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),c);
}
void printsnake()
{int i,j=10;gotoxy(37,21);color(14);printf("  张   洋   贪   吃   蛇\n                     欢   迎   你!");gotoxy(19-1,9);color(12);printf("张洋");gotoxy(23-1,9);color(12);printf("张洋");   gotoxy(27-1,9);color(12);printf("张洋");    gotoxy(27-1,11);color(12);printf("张洋");gotoxy(19-1,13);color(12);printf("张洋");gotoxy(23-1,13);color(12);printf("张洋"); gotoxy(27-1,13);color(12);printf("张洋");   for(i=20;i<28;i++){gotoxy(i+10,j);color(j-10);printf("张洋");j++;  }for(i=30;i<38;i++){gotoxy(i+10,j);color(j-10);printf("张洋");j--;}for(i=40;i<48;i++){gotoxy(i+10,j);color(j-10);printf("张洋");j++;    }for(i=50;i<58;i++){gotoxy(i+10,j);color(j-10);printf("张洋");j--;}for(i=60;i<68;i++){gotoxy(i+10,j);color(j-10);printf("张洋");j++;    }for(i=70;i<77;i++){gotoxy(i+10,j);color(j-10);printf("张洋");j--;}gotoxy(87,11);color(11);printf("张洋");gotoxy(91,11);color(11);printf("张洋");gotoxy(95,11);color(11);printf("张洋");gotoxy(99,11);color(11);printf("张洋");}/*************************主函数******************************************/int main()
{system("mode con cols=140 lines=40");//设置控制台的宽高printsnake();//绘制字符蛇return 0;
}

欢迎界面

/************************* 每个人可根据自己的创意,设计不同的欢迎界面。 **********************/

/************************************************ 开始界面 ********************************************/

void welcome()
{int n;int i,j=1;color(14);for (i=24;i<=30;i++){for (j=35;j<=82;j++){gotoxy(j,i);if(i==24||i==30){printf("-");}else if(j==35||j==82){printf("|");}}}color(12);gotoxy(45,26);printf("1.开始游戏");gotoxy(65,26);printf("2.游戏说明");gotoxy(45,28);printf("3.退出游戏");gotoxy(48,32);color(3);printf("请选择[1 2 3]:[ ]\b\b");color(14);scanf("%d",&n);switch(n){case 1 :system("cls");//清屏 break;case 2:break;case 3:exit(0);break;default:color(12);gotoxy(40,38);printf("请输入1-3之间的数!");getch();  //输入任意键system("cls");  //清屏printsnake();welcome();}
}
int main()
{system("mode con cols=140 lines=40");//设置控制台的宽高printsnake();//绘制字符蛇welcome();return 0;
}


两个结合在一起,就构成了开始的主界面

游戏主窗体设计

/****************************游戏主窗体设计*********************************/
void createMap()           //创建地图
{int i,j;for (i=0;i<58;i+=2){gotoxy(i,0);color(5);printf("□");gotoxy(i,26);printf("□");}for (i=1;i<26;i++){gotoxy(0,i);printf("□");gotoxy(56,i);printf("□");}for (i=2;i<56;i+=2){for (j=1;j<26;j++){gotoxy(i,j);color(3);printf("■\n\n");}}
}
/*********************游戏右侧的得分和小提示******************/
void scoreandtips()
{int i;File_out();                           //调用File_out(),读取文件中的内容gotoxy(74,4);color(11);printf("▂▄▅最高纪录▄▃▂:%d",HighScore);//打印游戏最高分gotoxy(74,8);color(14);printf("得分: %d  ",score);color(13);gotoxy(83,11);printf("小 提 示");gotoxy(70,13);color(6);printf("┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓");for (i=15;i<25;i=i+2){gotoxy(70,i);printf("┃");}for (i=15;i<25;i=i+2){gotoxy(103,i);printf("┃");}gotoxy(70,25);printf("┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛");color(3);gotoxy(74,14);printf("每个事物得分:%d 分",add);gotoxy(74,16);printf("不能穿墙,不能咬到自己");gotoxy(74,18);printf("用↑↓←→分别控制蛇的移动");gotoxy(74,20);printf("F1加速,F2减速");gotoxy(74,22);printf("space:暂停游戏");gotoxy(74,24);printf("ESC:退出游戏");
}
/***************在文件中读取最高分*******************/
void File_out()
{FALSE *fp;fp=fopen("save.txt","a+");     //打开文件save.txtfscanf(fp,"%d",&HighScore);fclose(fp);
}
/*****************主函数****************************/
int main()
{system("mode con cols=120 lines=40");//设置控制台的宽高printsnake();//绘制字符蛇welcome();//欢迎界面File_out();return 0;
}


在C语言中的文件调用,保存一定要学好,才能在这里灵活运用。

绘制蛇身和蛇食物

/******************* 绘制蛇身************************/void initsnake(){snake *tail;int i;tail=(snake*)malloc(sizeof(snake));  //从蛇尾开始,头插法,以X,Y设定开始的位置tail->x=24;                          //蛇的初始位置(24,5)tail->y=5;tail->next=NULL;for (i=1;i<=4;i++)                     //初始长度为5{head=(snake*)malloc(sizeof(snake));//初始化蛇头head->next=tail;                   //蛇头的下一位为蛇尾head->x=24+2*i;                    //设置蛇头位置head->y=5;tail=head;                         //蛇头变成蛇尾,然后重复循环}while (tail!=NULL)                     //从头到尾,输出蛇身{gotoxy(tail->x,tail->y);color(14);printf("⊕");               //输出蛇身tail=tail->next;           //蛇头输出完毕,输出蛇头的下一位,一直输出到蛇尾}}/*************绘制食物******************************/
void createfood()
{snake *food_1;srand((unsigned)time(NULL));             //初始化随机数food_1=(snake*)malloc(sizeof(snake));       //初始化food_1//保证其为偶数,使得食物能与蛇头对齐,然后食物会出现在网格线上while ((food_1->x%2)!=0){food_1->x=rand()%52+2;           //设置食物的X坐标随机出现,食物的x坐标在2-53}food_1->y=rand()%24+1;             //食物的Y坐标在1-24q=head;while (q->next==NULL){if (q->x==food_1->x&&q->y==food_1->y)  //判断蛇身是否与食物重合{free(food_1);           //如果食物与蛇身重合,那么释放食物指针createfood ();          //重新创建食物}q=q->next;}gotoxy(food_1->x,food_1->y);    //设置食物位置food=food_1;color(12);printf("▼");             //输出食物}


此时贪吃蛇的游戏界面就已经大致做好,剩下的是进行游戏需要的逻辑等;

游戏逻辑

 /**********************************游戏逻辑**********************************//*********************判断是否咬到自己*****************/int biteself(){snake *self;                               //定义self为蛇身上的一个节点self=head->next;                           //self是蛇头之外的蛇身上的节点while(self!=NULL){if (self->x==head->x&&self->y==head->y)   //如果self和蛇头上的节点重合{return 1;                             //返回1}self=self->next;                         //循环蛇上的每一个节点}return 0;}/************判断蛇是否撞到墙******************/void cantcrosswall(){if (head->x==0||head->x==56||head->y==0||head->y==26)//如果蛇头碰到了墙壁{endgamestatus=1;                       //返回第一种情况}}/*******************设置蛇加速前进**********/void speedup(){if (sleeptime>=50)                         //如果时间间隔大于等于50{sleeptime=sleeptime-10;                 //时间间隔减10add=add+2;                               //每吃一次食物的得分加2if(sleeptime==320){add=2;                                //防止减到1之后再加回来有错}}}/*******************设置蛇减速前进************/void speeddown(){if (sleeptime<350)                          //如果时间间隔小于350{sleeptime=sleeptime+30;                  //时间间隔加上30add=add-2;                               //没吃一次食物的得分减2if (sleeptime==350){add=1;                               //保证最低分为1}}}/******************控制方向*************************/
void  snakemove()
{snake *nexthead;cantcrosswall();nexthead=(snake*)malloc(sizeof(snake));  //为下一步开辟空间if (status==W){nexthead->x=head->x;    //向上前进时,x坐标不变,y坐标-1nexthead->y=head->y-1;nexthead->next=head;q=head;                //指针q指向蛇头//如果下一个有食物,下一个位置的坐标和食物的坐标相同if (nexthead->x==food->x&&nexthead->y==food->y){while (q!=NULL){gotoxy(q->x,q->y);color(14);printf("⊕");    //原来食物的位置,从▼变成⊕q=q->next;       //指针q指向的蛇身的下一位也执行循环里的操作}score=score+add;      //吃了一个食物,在总分上加上食物的分speedup();createfood();         //创建食物}else{while (q->next->next!=NULL){gotoxy(q->x,q->y);color(14);printf("⊕");    //蛇正常往前走,输出当前位置的蛇身q=q->next;       //继续输出整个蛇身}//经过上面的循环,q指向蛇尾,蛇尾的下一位,就是蛇走过去的位置gotoxy(q->next->x,q->next->y);color(3);printf("■");free(q->next);     //进行输出▼之后,释放指向下一位的指针q->next=NULL;     //指针下一位指向空}}///if (status==S)                 {nexthead->x=head->x;    //向上前进时,x坐标不变,y坐标+1nexthead->y=head->y+1;nexthead->next=head;q=head;                //指针q指向蛇头//如果下一个有食物,下一个位置的坐标和食物的坐标相同if (nexthead->x==food->x&&nexthead->y==food->y){while (q!=NULL){gotoxy(q->x,q->y);color(14);printf("⊕");    //原来食物的位置,从▼变成⊕q=q->next;       //指针q指向的蛇身的下一位也执行循环里的操作}score=score+add;      //吃了一个食物,在总分上加上食物的分speedup();createfood();         //创建食物}else{while (q->next->next!=NULL){gotoxy(q->x,q->y);color(14);printf("⊕");    //蛇正常往前走,输出当前位置的蛇身q=q->next;       //继续输出整个蛇身}//经过上面的循环,q指向蛇尾,蛇尾的下一位,就是蛇走过去的位置gotoxy(q->next->x,q->next->y);color(3);printf("■");free(q->next);     //进行输出▼之后,释放指向下一位的指针q->next=NULL;     //指针下一位指向空}}/if (status==A){nexthead->x=head->x-2;    //向左前进时,x坐标向左移动-2,y坐标不变nexthead->y=head->y;nexthead->next=head;q=head;                //指针q指向蛇头//如果下一个有食物,下一个位置的坐标和食物的坐标相同if (nexthead->x==food->x&&nexthead->y==food->y){while (q!=NULL){gotoxy(q->x,q->y);color(14);printf("⊕");    //原来食物的位置,从▼变成⊕q=q->next;       //指针q指向的蛇身的下一位也执行循环里的操作}score=score+add;      //吃了一个食物,在总分上加上食物的分speedup();createfood();         //创建食物}else{while (q->next->next!=NULL){gotoxy(q->x,q->y);color(14);printf("⊕");    //蛇正常往前走,输出当前位置的蛇身q=q->next;       //继续输出整个蛇身}//经过上面的循环,q指向蛇尾,蛇尾的下一位,就是蛇走过去的位置gotoxy(q->next->x,q->next->y);color(3);printf("■");free(q->next);     //进行输出▼之后,释放指向下一位的指针q->next=NULL;     //指针下一位指向空}}/if (status==D){nexthead->x=head->x+2;    //向右前进时,x坐标向左移动+2,y坐标不变nexthead->y=head->y;nexthead->next=head;q=head;                //指针q指向蛇头//如果下一个有食物,下一个位置的坐标和食物的坐标相同if (nexthead->x==food->x&&nexthead->y==food->y){while (q!=NULL){gotoxy(q->x,q->y);color(14);printf("⊕");    //原来食物的位置,从▼变成⊕q=q->next;       //指针q指向的蛇身的下一位也执行循环里的操作}score=score+add;      //吃了一个食物,在总分上加上食物的分speedup();createfood();         //创建食物}else{while (q->next->next!=NULL){gotoxy(q->x,q->y);color(14);printf("⊕");    //蛇正常往前走,输出当前位置的蛇身q=q->next;       //继续输出整个蛇身}//经过上面的循环,q指向蛇尾,蛇尾的下一位,就是蛇走过去的位置gotoxy(q->next->x,q->next->y);color(3);printf("■");free(q->next);     //进行输出▼之后,释放指向下一位的指针q->next=NULL;     //指针下一位指向空}}if (biteself()==1)         //判断是否会咬到自己{endgamestatus=2;}
}
/******************************* 键盘 ************************************/
void key()
{status=R;                 //初始蛇向右移动 while (1){scoreandtips();           //游戏界面右侧的得分和小提醒
//GetAsyncKeyState函数 用来判断函数调用时指定虚拟键的状态if (GetAsyncKeyState(VK_UP)&&status!=S){status=W;      //如果蛇不是向下前进的时候,按向上键,执行向上前进操作}else if (GetAsyncKeyState(VK_DOWN)&&status!=W){status=S;      //如果蛇不是向上前进的时候,按向下键,执行向下前进操作}else if (GetAsyncKeyState(VK_LEFT)&&status!=D){status=A;      //如果蛇不是向右前进的时候,按向左键,执行向左前进操作}else if (GetAsyncKeyState(VK_RIGHT)&&status!=A){status=D;      //如果蛇不是向左前进的时候,按向右键,执行向右前进操作}if (GetAsyncKeyState(VK_SPACE))     //按下暂停键,执行pause暂停函数{while (1){//Sleep()函数,头文件#include <unistd.h>另进程暂停,直到达到里面设定参数的时间Sleep(300);if (GetAsyncKeyState(VK_SPACE))  //按下空格键暂停{break;}}}else if (GetAsyncKeyState(VK_ESCAPE)){endgamestatus=3;   //按ESC,直接到结束界面break;}else if (GetAsyncKeyState(VK_F1))   //按F1,加速{speedup();}else if (GetAsyncKeyState(VK_F2))   //按F2,减速{if (sleeptime<350)            //如果时间间隔小于350{sleeptime=sleeptime+30;  //时间间隔加上30add=add-2;                //没吃一次食物的得分减2if (sleeptime==350){add=1;                //保证最低分为1}}}Sleep(sleeptime);                 //不按键时,蛇保持前行snakemove();}
}
/*****************主函数****************************/
int main()
{system("mode con cols=120 lines=40");  //设置控制台的宽高printsnake();                         //绘制字符蛇welcome();                               //欢迎界面File_out();key();return 0;
}

游戏失败界面

/************************失败界面*********************/
void Lostdraw()
{   int k;system("cls");gotoxy(50,2);printf("∑游戏结果");gotoxy(17,5);color(11);printf("┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━");printf("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓");for (k=7;k<=18;k++)  //竖边框{gotoxy(17,k);printf("┃");gotoxy(82,k);printf("┃");}gotoxy(17,20);printf("┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━");printf("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛");
}
/****************************结束游戏*****************/
void endgame()
{system("cls");if (endgamestatus==1)   //如果蛇撞到了墙{Lostdraw();gotoxy(35,9);color(12);printf("对不起,你头铁也撞不烂墙。游戏结束");}else if (endgamestatus==2)  //如果蛇咬到了自己{Lostdraw();gotoxy(35,9);color(12);printf("对不起,你咬到了自己,游戏结束!");}else if (endgamestatus==3)  //如果按ESC键退出{Lostdraw();gotoxy(40,9);color(12);printf("你已经结束了游戏!");}gotoxy(43,12);color(13);printf("你的得分是 %d",score);if (score>=HighScore){color(10);gotoxy(40,16);printf("牛逼,创纪录了!!");File_in();     //把最高分写进文件}else                  //如果低于最高分{color(10);gotoxy(35,16);printf("继续努力啊,你离最高分还差:%d",HighScore-score);}choose();    //边框下面的分支选项
}
/********************边框下面的分支选项************/
void choose()
{int m;gotoxy(25,23);color(12);printf("我要重新玩一把-------- 1");gotoxy(52,23);printf("不玩了,退出-------- 2");gotoxy(46,25);color(11);printf("选择: ");scanf("%d",&m);switch(m){case 1:system("cls");   //清屏score=0;        //分数归零sleeptime=200;   //设定初始速度add=10;         //使add设为初值,吃一个食物得十分,然后累加printsnake();   //返回欢迎界面welcome();break;case 2:exit(0);             //退出游戏break;default:           //输入1或2以外的数字gotoxy(35,27);color(12);printf("不要瞎输入,请重新输入");system("pause>nul");     //按任意键endgame();choose();  //边框下面的分支语句break;}
}/*****************主函数****************************/
int main()
{system("mode con cols=120 lines=40");  //设置控制台的宽高printsnake();                         //绘制字符蛇welcome();                               //欢迎界面File_out();                             //读取文件信息keyjianpan();                           //控制键盘按键endgame();                              //游戏结束return 0;
}

注:此时还要记住在前面蛇不同的失败函数里加上endgame();

游戏说明

/*********************游戏说明************************/
void explation()
{int i,j=1;system("cls");color(13);gotoxy(52,3);printf("游戏说明");color(2);for (i=6;i<=22;i++)     //输出上下边框{for (j=20;j<=75;j++){gotoxy(j+10,i);if (i==6||i==22){printf("||");}}}color(3);gotoxy(40,8);printf("一:不能穿墙,不能咬到自己");color(10);gotoxy(40,11);printf("二:用↑↓←→分别控制蛇的移动");color(14);gotoxy(40,14);printf("三:F1加速,F2减速");color(11);gotoxy(40,17);printf("四:安空格键暂停,再按空格键继续");color(4);gotoxy(40,20);printf("五:ESC:退出游戏,space:暂停游戏");getch();//按任意键返回主界面system("cls");printsnake();welcome();
}

此时一个好玩的贪吃蛇游戏就做好了,大家可以自己试一试,有利于理解C语言的相关运用

可以关注一下再走。。。。。。

不想要自己费时学习的可以直接找我要完整代码

后续

源码地址
如果想了解更多物联网、智能家居项目知识,可以关注我的程序设计专栏。
订阅专栏后,可以在微信公众号上私聊我,直接发给你源码。
或者关注公众号。

编写不易,感谢支持。

贪吃蛇小游戏程序(C语言)相关推荐

  1. 基于C语言Ncurse库和链表的简单贪吃蛇小游戏

    参考:基于C语言Ncurse库和链表的简单贪吃蛇小游戏 作者:三速何时sub20 发布时间:2020-09-29 10:23:51 网址:https://blog.csdn.net/weixin_44 ...

  2. C语言小游戏大全,C语言贪吃蛇小游戏(附源码)

    一.C语言小游戏大全,C语言贪吃蛇小游戏(附源码) 贪吃蛇小游戏源码和更多C语言课设项目小游戏源码免 费 下 载 链 接 如下: c语言项目课设小游戏源码资料压缩包.zip-C文档类资源-CSDN下载 ...

  3. 安卓c语言自动补全软件吾爱,C语言实现贪吃蛇小游戏

    本文实例为大家分享了C语言实现贪吃蛇小游戏的具体代码,供大家参考,具体内容如下 一.程序实现的原理: 1.构造蛇身:定义一个坐标数组,存放的是蛇的每一节蛇身所在的坐标位置.这样就将移动蛇身的操作转换为 ...

  4. 控制台版贪吃蛇小游戏 C语言

    写在前面 最近我们C语言的课设快开始了,开始前刚好有时间就写了一下C语言的贪吃蛇小游戏(单链表实现),包含了经典模式和无边界模式 ,网上查了设置颜色 和 改变光标位置 还有 用方向键控制 的函数,第一 ...

  5. c语言小游戏 精简_一个简易的贪吃蛇小游戏C语言源码

    /* *程序名称:贪吃蛇v2.1 *程序描述:一个简易的贪吃蛇小游戏 *版本信息:v2.1 *v1.1版本更新:1:加入菜单选择项 *v1.2版本更新:1:修复菜单选择bug *v1.3班本更新:1: ...

  6. c语言贪吃蛇打包到桌面,C语言实现桌面贪吃蛇小游戏

    本篇写的是桌面贪吃蛇小游戏,大家自己看吧,感谢大家的支持,谢谢!O(∩_∩)O~~ #define _CRT_SECURE_NO_WARNINGS #include #include #include ...

  7. C语言实现贪吃蛇小游戏1.0

    C语言实现贪吃蛇小游戏1.0 贪吃蛇游戏要有三个东西:边框.蛇.食物 还有两个灵魂的东西:光标的移动与按键监控 一.光标的移动 在我看来在控制台上移动光标画图是实现这个小游戏的灵魂了,在这之前我一直以 ...

  8. 【笔记】用vs2017 c语言写 贪吃蛇 小游戏

    目录 文章目录 前言 一.贪吃蛇游戏 设计逻辑 二.详细介绍 1.设置界面(界面大小,背景颜色) 2.设置贪吃蛇的身体并显示 3.使之能够移动并能够穿墙 4.添加食物并让蛇吃掉 5.设置背景音乐 完整 ...

  9. python100行代码程序-100行python代码,轻松完成贪吃蛇小游戏

    大家小时候都玩过贪吃蛇吧?小编小时候可喜欢拿爸妈的手机玩了,厉害着呢!今天,小编就来用100行代码实现一个简易版的贪吃蛇.在网上,贪吃蛇教程蛮多的,但要安装蛮多库的,而且也不够清晰,今天的代码比较短, ...

  10. 再来一次的C语言贪吃蛇小游戏(三)

    8.游戏的不同界面 为了便于实现主要功能,之前我们所有的状态控制都是放在游戏中,但实际上我们应该把这些状态控制抽离出来,通过菜单来控制,以便在不同游戏界面间切换. 菜单界面 游戏界面 排行榜 游戏结束 ...

最新文章

  1. 算法设计思想(4)— 分治法
  2. CentOS 7 单用户模式+救援模式
  3. 盘点丨那些顶级的AI机器人“大脑”
  4. vcm驱动芯片原理_T6322A|电源芯片的内部设计是怎样的?
  5. 避免每个类中都初始化日志类
  6. 1.8 分割字符串(spilt())
  7. 浅谈Docker:DockerLinux安装,镜像管理命令,镜像制作命令,容器管理命令,数据卷,DockerFile,Docker-compose
  8. 王者荣耀在线服务器,王者荣耀实时对战服务器Photon之PUN介绍
  9. linux卸载mariadb数据库,CentOS yum 安装、卸载MariaDB数据库
  10. BZOJ——2697: 特技飞行
  11. 修改服务器ip 需要重启,linux服务器设置ip后需要重启吗
  12. .NET 设计规范--.NET约定、惯用法与模式--附录:C#编程风格约定
  13. 戒烟、写作、赚美金:我的2020
  14. 超逼真AI设计师,谷歌大脑推出新的文本生成图像模型Imagen
  15. H3CIE(WLAN)学习笔记(3)——802.11帧格式与介质访问规则
  16. win10配置计算机时强制关机,老鸟讲解Win10设置远程系统强制关机的详尽处理要领...
  17. TC358860XBG EDP/DP TO DAUL MIPI DSI
  18. 新学期|新气象,青春有为,不负韶华
  19. iptables匹配功能length
  20. matlab的lambda,lambda算法matlab

热门文章

  1. 基于人脸识别的学生签到打卡系统用户使用指南
  2. NanoHttpd android客户端作为服务器使用
  3. Android音视频学习思路整理
  4. 史上最全的美国留学资料,从此不用找中介
  5. 软件测试人员必看的十本经典书籍
  6. vc编程经典网址推荐
  7. 计算机信息技术和网络技术的区别,信息技术计算机技术网络技术通信技术的区别与联系...
  8. 【入门必看-算法基础知识讲解】小白都也能看得懂
  9. 千锋2015.04月最新C语言基础视频教程
  10. 屏幕录像软件使用教程?