




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、C語(yǔ)言程序貪吃蛇代碼#include#include#include#include#include#define N 21FILE *fp;int S;void boundary(void);/開(kāi)始界面void end(void); /結(jié)束void gotoxy(int x,int y)/位 置函數(shù)COORD pos;pos.X=x;pos.Y=y;SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),pos); void color(int a)顏色函數(shù)SetConsoleTextAttribute(GetStdHandle(ST
2、D_OUTPUT_HANDLE),a); void init(int food2)初始化函數(shù)(初始化圍墻、顯示信息、蘋(píng)果) system(cls);int i,j;/初始化圍墻int wallN+2N+2=0;初始化圍墻的二維數(shù)組for(i=1;i=N;i+)for(j=1;j=N;j+)wallij=1;color(10);for(i=0;iN+2;i+) 畵圍墻for(j=0;jN+2;j+)if(wallij)printf( );else printf(#) ;printf(n) ;gotoxy(N+3,3);顯示信息color(14);printf(tt 按 a,b,c,d 改變方向n
3、);gotoxy(N+3,1);color(14);printf(tt按任意鍵暫停,按1返回,按2退出n);gotoxy(N+5,3);color(14);printf(score:n);food0=rand()%N+1; 隨機(jī)出現(xiàn)食物food1=rand()%N+1;gotoxy(food0,food1);color(12);printf(*n);void play()具體玩的過(guò)程system(cls);int i,j;int* snake=NULL;定義蛇的二維指針int food2;食物的數(shù)組,food0代表橫坐標(biāo),food1代表縱坐標(biāo)int score=0;為得分int tail2;此
4、數(shù)組為了記錄蛇的頭的坐標(biāo)int node=3;蛇的節(jié)數(shù)char ch=p;srand(unsigned)time(NULL);隨機(jī)數(shù)發(fā)生器的初始化函數(shù)init(food);snake=(int*)realloc(snake,sizeof(int*)*node);/改變 snake 所指內(nèi)存區(qū)域的大小為 node 長(zhǎng)度f(wàn)or(i=0;inode;i+)snakei=(int*)malloc(sizeof(int)*2);for(i=0;i0;i-)/蛇想前移動(dòng)的關(guān)鍵算法,后一節(jié)的占據(jù)前 節(jié)的地址坐標(biāo)snakei0=snakei-10;snakei1=snakei-11;gotoxy(snakei
5、0,snakei1);color(14);printf(*n);if(kbhit()捕捉輸入信息ch=getche();switch(ch)case w:snake01-;break;case s:snake01+;break;case a:snake00-;break;case d:snake00+;break;case 1:boundary() ;break;case 2:end();break;default: break;gotoxy(snake00,snake01);color(14);printf(*n);Sleep(abs(200-0.5*score);/使隨著分?jǐn)?shù)的增長(zhǎng)蛇的移動(dòng)
6、速度越來(lái)越快if(snake00=food0&snake0l=foodl)/R吃 掉食物后蛇分?jǐn)?shù)加 1,蛇長(zhǎng)加 1 score+;分?jǐn)?shù)增加S=score;node+;/節(jié)數(shù)增加snake=(int*)realloc(snake,sizeof(int*)*node);snakenode-l=(int*)malloc(sizeof(int)*2);food0=rand()%N+1;產(chǎn)生隨機(jī)數(shù)且要在圍墻內(nèi)部food1=rand()%N+1;gotoxy(food0,food1);color(12);printf(*n);gotoxy(N+12,3);color(14);printf(%dn,scor
7、e);輸出得分if(snake01=0|snake01=N+1|snake00=0|snake00=N+1)/撞到圍墻 后失敗gotoxy(N/2,N/2);color(30);printf(GAME OVERn);for(i=0;inode;i+)free(snakei);Sleep(INFINITE);exit(0);/從蛇的第四節(jié)開(kāi)始判斷是否撞到自己,因?yàn)樯哳^為兩節(jié),第三節(jié)不可能拐過(guò)來(lái)for (i=3; inode; i+)for(j=0;jnode;j+)if (snakei0=snakej0 & snakei1=snakej1) gotoxy(N/2,N/2);color(30);p
8、rintf(GAME OVERn); for(i=0;inode;i+) free(snakei);Sleep(INFINITE); exit(0);void end()結(jié)束函數(shù)system(cls);system(cls);printf(EXITn);void grade()成績(jī)記錄函數(shù)system(cls);int i=0;char s;if( (fp=fopen(f:貪吃蛇 貪吃蛇.txt,ar) )=NULL)打開(kāi)文件 printf(nCannot open file!n);exit(0);if(iS)i=S;color(14);fwrite(&i,sizeof(i),1,fp);fclose(fp);printf(最高的分為:dnn,i);printf(t 按 1 返回nn);printf(t 按 2 退出nn);s=getche();switch(s)case 1:boundary();break;case 2: end();break;void boundary。/開(kāi)始界面system(cls);char s;color(14);printf(tt 歡迎來(lái)玩!! nn);printf(tt1:開(kāi)始nn);printf(tt2:查看成績(jī)nn);printf(tt3:退出nn);pr
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 城市設(shè)計(jì)畢設(shè)答辯
- 板帶鋼加工工藝教學(xué)課件
- 護(hù)理品質(zhì)改善措施執(zhí)業(yè)護(hù)士試題及答案
- 公共廁所設(shè)計(jì)標(biāo)準(zhǔn)與創(chuàng)新實(shí)踐
- 路基防護(hù)與支擋結(jié)構(gòu)設(shè)計(jì)課件講解
- 幼兒舞蹈教學(xué)與動(dòng)作要領(lǐng)課件
- 知識(shí)運(yùn)用的小技巧執(zhí)業(yè)醫(yī)師考試試題及答案
- 2025年護(hù)師考試知識(shí)考點(diǎn)探索試題及答案
- 2025年護(hù)師考試的目標(biāo)達(dá)成試題及答案
- 基礎(chǔ)護(hù)理知識(shí)點(diǎn)試題及答案集合
- 《光電顯示技術(shù)》OLED原理
- 2022年重慶江津中考數(shù)學(xué)試題及答案(A卷)
- 反恐安全政策
- 創(chuàng)新教學(xué)任務(wù)
- 淺談膿毒血癥的集束化治療及護(hù)理-PPT課件
- 新部編版《道德與法治》五年級(jí)下冊(cè)第7課《不甘屈辱 奮勇抗?fàn)帯穬?yōu)質(zhì)課件(含視頻)
- 架子工班組承包協(xié)議
- 化驗(yàn)室化學(xué)試劑臺(tái)賬范例
- 楊家灣220KV變電站工程預(yù)算表
- 第七課:構(gòu)圖的形式
- 六類(lèi)網(wǎng)線(xiàn)檢測(cè)報(bào)告(共9頁(yè))
評(píng)論
0/150
提交評(píng)論