**
贪吃蛇是我们很经常玩的小游戏,而如果用链表来做一个贪吃蛇游戏,你就会对链表有一个深刻的认识,而且链表作为c语言的重点,也是c语言的独特魅力所在 算了,不说那么多了,上干货
**
snake.c
#include <curses.h>
#include <stdlib.h>
#include <pthread.h>
#include "LIST.h"
#define MAP_WIDTH 20
#define MAP_HEIGHT 20
extern struct Snake *g_snake;
extern struct Snake g_food;
int g_flag = 0;
int g_direction = KEY_RIGHT;
int commitsuicide() {
struct Snake *p;
p = g_snake;
struct Snake *tmp;
tmp = g_snake->next;
while (tmp != NULL) {
if ((p->x == tmp->x) && (p->y == tmp->y)) {
return 0;
}
tmp = tmp->next;
}
return -1;
}
void initFood() {
int judge = 0;
do {
int x = rand() % 20 + 1;
int y = rand() % 20 + 1;
g_food.x = x;
g_food.y = y;
g_food.next = NULL;
if ((g_food.x == g_snake->x) && (g_food.y == g_snake->y)) {
judge = 1;
}
} while (g_food.x == 0 || g_food.x > 18 || g_food.y == 0 || g_food.y > 18 ||
judge == 1);
}
int foodFind(int x, int y) {
if ((g_food.x == x) && (g_food.y == y)) {
return 0;
}
return -1;
}
int headTofood() {
if ((g_food.x == g_snake->x) && (g_food.y == g_snake->y)) {
return 0;
}
return -1;
}
void ini