#include<curses.h>#include<stdlib.h>#include<unistd.h>#include<pthread.h>#defineUP1#defineDOWN-1#defineRIGHT2#defineLEFT-2voidinitNcurse(){
initscr();keypad(stdscr,1);noecho();}structSnack{
int hang;int lie;structSnack*next;};structSnack*head =NULL;structSnack*tail =NULL;int key;int dir;structSnack food;voidinitFood(){
int x =rand()%20;int y =rand()%20;
food.hang = x;
food.lie = y;}inthasSnackNode(int i ,int j){
structSnack*point;
point = head;while(point->next !=NULL){
if(point->hang == i && point->lie == j){
return1;}
point = point->next;}return0;