#include#include#include#include#define u 1
#define d 2
#define l 3
#define r 4 //蛇的狀態,u:上 ;d:下;l:左 r:右
typedef struct snake snake;
//全域性變數//
int score=0,add=10;//總得分與每次吃食物得分。
int status,sleeptime=200;//每次執行的時間間隔
snake *head, *food;//蛇頭指標,食物指標
snake *q;//遍歷蛇的時候用到的指標
int endgamestatus=0; //遊戲結束的情況,1:撞到牆;2:咬到自己;3:主動退出遊戲。
//宣告全部函式//
void pos();
void creatmap();
void initsnake();
int biteself();
void createfood();
void cantcrosswall();
void snakemove();
void pause();
void gamecircle();
void welcometogame();
void endgame();
void gamestart();
void pos(int x,int y)
void creatmap()
for(i=1; i<26; i++)
}void initsnake()
while(tail!=null)
}int biteself()
self=self->next;
} return 0;
}void createfood()
food_1->y=rand()%24+1;
q=head;
while(q->next==null)
q=q->next;
} pos(food_1->x,food_1->y);
food=food_1;
printf("■");
}void cantcrosswall()
}void snakemove()
score=score+add;
createfood();
} else
pos(q->next->x,q->next->y);
printf(" ");
free(q->next);
q->next=null;
} }if(status==d)
score=score+add;
createfood();
} else
pos(q->next->x,q->next->y);
printf(" ");
free(q->next);
q->next=null;
} }if(status==l)
score=score+add;
createfood();
} else
pos(q->next->x,q->next->y);
printf(" ");
free(q->next);
q->next=null;
} }if(status==r)
score=score+add;
createfood();
} else
pos(q->next->x,q->next->y);
printf(" ");
free(q->next);
q->next=null;
} }if(biteself()==1)
}void pause() }}
void gamecircle() else if(getasynckeystate(vk_down) && status!=u) else if(getasynckeystate(vk_left)&& status!=r) else if(getasynckeystate(vk_right)&& status!=l) else if(getasynckeystate(vk_space)) else if(getasynckeystate(vk_escape)) else if(getasynckeystate(vk_f1))
}} else if(getasynckeystate(vk_f2))
}} sleep(sleeptime);
snakemove(); }}
void welcometogame()
void endgame() else if(endgamestatus==2) else if(endgamestatus==3)
pos(24,13);
printf("您的得分是%d\n",score);
exit(0);
}void gamestart()
int main()
資訊學奧林匹克競賽 ISBN號碼
每一本正式出版的圖書都有乙個isbn號碼與之對應,isbn碼包括9位數字 1位識別碼和3位分隔符,其規定格式如 x xx x 其中符號 就是分隔符 鍵盤上的減號 最後一位是識別碼,例如0 670 82162 4就是乙個標準的isbn碼。isbn碼的首位數字表示書籍的出版語言,例如0代表英語 第乙個分...
國際資訊學奧林匹克競賽 IOI
1987年,保加利亞的sendov教授在聯合國教科文組織第24屆全體會議上,倡議舉行國際資訊學奧林匹克,定名為international olympiad in informatics,簡稱ioi。首屆ioi於1989年5月在保加利亞首都索菲亞舉行。資訊學奧林匹克是計算機知識在世界範圍的青少年中普及...
資訊學奧林匹克競賽 運輸層協議
運輸層最重要的兩種協議 udp和tcp 運輸層向它上面的應用層提供通訊服務 從運輸層的角度看,通訊的真正端點並不是主機而是主機中的程序。運輸層的功能 復用 multiplexing 在傳送方不同的應用程序都可以使用同乙個運輸層協議傳送資料 分用 dumultiplexing 接收方的運輸層在剝去報文...