1 #include<curses.h>
2 #include<stdlib.h>
3
4 struct NodeofSnake
5 {
6 int hang;
7 int lie;
8 struct NodeofSnake *next;
9 };
10
11 struct NodeofSnake *head=NULL;
12 struct NodeofSnake *tail=NULL;
13
14 void addNode()
15 {
16 struct NodeofSnake *new;
17 new=(struct NodeofSnake*)malloc(sizeof(struct NodeofSnake));
18 new->hang=tail->hang;
19 new->lie =tail->lie+1;
20 new->next=NULL;
21
22 tail->next=new;
23 tail=new;
24 }
25 void initSnake()
26 {
27 // struct NodeofSnake *head,*tail;
28 head=(struct NodeofSnake*)malloc(sizeof(struct NodeofSnake));
29 head->hang=2;
30 head->lie =2;
31 head->next=NULL;
32
33 tail=head;
34
35 addNode();
36 }
37 int wheatherOfSnakeNode(int hang,int lie)
38 {
39
40 struct NodeofSnake *point = head;
41 while(point!=NULL){
42 if(hang==point->hang && lie==point->lie ){
43 printw("[]");
44 return 1;
45 }
46 point=point->next;
47 }
48 return 0;
49 }
50
51 void initMap()
52 {
53 int hang=0;
54 int lie =0;
55
56 for(hang=0;hang<=20;hang++){
57 if(hang==0||hang==20){
58 for(lie=0;lie<20;lie++){
59 printw("--");
60 }
61 printw("\n");
62 }
63 if(hang>0&&hang<=19){
64 for(lie=0;lie<=20;lie++){
65 if(lie==0||lie==20){
66 printw("|");
67 }else if(wheatherOfSnakeNode(hang,lie)){
68
69 }
70 else{
71 printw(" ");
72 }
73 }
74 printw("\n");
75 }
76 }
77 printw("By:GuoMing\n");
78 }
79
80 int main()
81 {
82 initscr();
83 keypad(stdscr,1);
84
85 initSnake();
86 initMap();
87
88 getch();
89 endwin();
90
91 return 0;
92 }
四、动态创建蛇身
最新推荐文章于 2024-05-17 16:41:20 发布