此次贪吃蛇小游戏的目的是使得我在Linux底下使用vi进行编写的
心得:
1.自己对linux中如何使用vi更加熟悉
如::wq yy pp dd u 等等
2.对c语言的指针,结构体,链表等更加的牢固
3.借此小项目也运用到多线程作为进入linux的深入学习打下坚实的基础
代码展示
#include<curses.h>
#include<stdlib.h>
#define UP 1 //1与-1的目的是使用abs()函数防止一上一下
#define DOWN -1
#define LEFT 2
#define RIGHT -2
struct Snake{
//创建一个结构体
int hang;
int lie;
struct Snake *next;
};
struct Snake *head = NULL; //全局定义一个头和尾
struct Snake *tail= NULL;
int key; //定义一个按键的整形变量
int dir;//定义一个方向的整形变量
struct Snake food;
void initFood(){
//定义一个食物## 可以随机生成
int x = rand()%19;
int y = rand()%19;
food.hang = x;
food.lie = y;
}
void initNcurse(){
initscr();
keypad(stdscr,1);
noecho();
}
int hasSnakeNode(int i, int j){
//显示蛇身体
struct Snake *p;
p = head;
while(p != NULL){
if(p->hang == i && p ->lie == j){
return 1;
}
p = p->next;
}
return 0;
}
int hasFood(int i,int j){
//有食物
if(food.hang == i && food.lie == j){