1. 蛇移动的思想:
其实就是删除头节点 ,增加尾节点;一句代码搞定
struct Snake *p; p =head; head = head -> next; free(p) 防止造成多的空间节点
2.增加尾节点代码思想:
2.1 .开辟new 节点的空间 struct Snake *new = (struct Snake *)malloc (sizeof(struct Snake));
2.2 . 新节点的行 new ->hang = tail -> hang;
新节点的列 new ->lie =tail -> lie+1;
增加new节点 :tail -> next = new;
新的尾巴 : tail = new ;


-
- void addNode()
- {
- struct Snake *new = (struct Snake *)malloc(sizeof(struct Snake));
- new -> hang = tail -> hang;
- new -> lie = tail -> lie+1;
-
- tail -> next = new;
- tail = new;
- }
-
-
- void deleteNode()
- {
- struct Snake *p;
- p = head;
- head = head ->next;
-
- free(p); // fang zhi zao cheng hen duo kong yu de jie dian
- }
-
- void moveSnake()
- {
- struct Snake *p;
- struct Snake *new;
-
- addNode();
- deleteNode();
- }
- int main()
- {
- int ctr;
- initNcurses();
- initSnakebody();
-
- gamePic();
- while(1){
- ctr = getch();
- if(ctr == KEY_RIGHT){
- moveSnake();
- gamePic();
- }
- }
- getch();
- endwin();
- return 0;
- }