版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、 C語言貪吃蛇制作過程流程圖如下:具體代碼如下#include "head.h"#include<stdio.h>#include<stdlib.h>#include<conio.h>#include<time.h>#include<Windows.h>#include<MMSystem.h>#pragma comment(lib,"winmm.lib")void Page();/顯示界面void Mps();/播放音樂void Check();/檢查空格void Stopm();/
2、停止音樂void shows2();/畫背景void SetSnake();/設置蛇的位置void DrawSnake();/畫蛇void SnakeMove();/蛇的移動void DeleteSnake();/銷毀蛇void ChangeDir();/蛇隨方向動起來bool SnakeDie();/判斷蛇是否死亡void ProduceFood();/隨機產(chǎn)生食物void SnakeGrow();/蛇變長void Score();/分數(shù)void Page()/顯示界面 printf("nnnn");printf("tttt歡迎來到貪吃蛇世界n");p
3、rintf("tttt 按空格開始游戲n");printf("tttt w,a,s,d,控制方向n");/*void Mps()/播放聲音PlaySound("E:霍旭祥st.wav" ,NULL,SND_FILENAME | SND_ASYNC);*/void Check()/檢測空格char input;while(1) input = _getch();/按空格鍵停止播放音樂 if(' '=input) break; /*void Stopm()/停止音樂PlaySound(NULL,0,0);/PlaySoun
4、d(NULL,0,0);*/畫背景void shows2()int i=0;for(i=0;i<20;i+)printf("%s",ground2i);/設置蛇的隨機位置void SetSnake()int x=-1;int y=-1;/產(chǎn)生隨機數(shù)srand(unsigned int)time(NULL);/種種子;x=rand()%19+1; y=rand()%18+1;/初始化蛇的位置Snake00=y;/行Snake01=x*2;/列Snake02=west;Snake10=y;/行Snake11=x*2+2;/列Snake12=west;Snake20=y;/
5、行Snake21=x*2+4;/列Snake22=west;DrawSnake();void DrawSnake()/畫蛇int i=0;for(i=0;Snakei0!=0;i+)strncpy(&ground2Snakei0Snakei1 ,"",2);void SnakeMove()/蛇的移動 int i=SnakeLong-1;/銷毀蛇DeleteSnake();for(i;i>=1;i-)if(0=Snakei1)continue;/過濾非法蛇身/把前一個節(jié)點賦值給后一個節(jié)點Snakei0=Snakei-10;Snakei1=Snakei-11;Sn
6、akei2=Snakei-12;/處理蛇頭Snake02=SnakeDir;/蛇頭方向if(west=Snake02|east=Snake02)/判斷東西Snake01+=Snake02;/Snake01為列else/南北Snake00+=Snake02;/Snake00為行DrawSnake();void DeleteSnake()/銷毀蛇int i=0;for(i=0;Snakei0!=0;i+)strncpy(&ground2Snakei0Snakei1 ," ",2);void ChangeDir()/蛇隨方向動起來if(GetAsyncKeyState(&
7、#39;W')if(south!=Snake02)SnakeDir=north;else if(GetAsyncKeyState('S')if(north!=Snake02)SnakeDir=south;else if(GetAsyncKeyState('A')if(east!=Snake02)SnakeDir=west;else if(GetAsyncKeyState('D')if(west!=Snake02)SnakeDir=east;bool SnakeDie()/判斷蛇是否死亡if(west=Snake02|east=Snake0
8、2)/判斷東西/蛇頭的下一個是方塊就死亡if(0=strncmp(&ground2Snake00Snake01+Snake02,"",2)return false;else/南北if(0=strncmp(&ground2Snake00+Snake02Snake01,"",2)return false;return true;void ProduceFood()/隨機產(chǎn)生食物/產(chǎn)生隨機目標 int i;/行和列 bool flag=true; if(false=ProFood)/判斷是否產(chǎn)生新的食物; return ; srand(unsi
9、gned int)time(NULL); while(1) g_line=rand()%16+2; g_row=rand()%18+2; for(i=0;Snakei0!=0;i+) if(g_line=Snakei0&&g_row=Snakei1) flag=false; break; if(true=flag) break; /坐標畫食物 strncpy(&ground2g_lineg_row*2,"",2); ProFood=false;void SnakeGrow()/蛇變長/蛇頭坐標與食物坐標相同if(g_line=Snake00&
10、&g_row*2=Snake01)if(east=Snakeg_Snakelen2)Snakeg_Snakelen+10=Snakeg_Snakelen0;Snakeg_Snakelen+11=Snakeg_Snakelen1-2;Snakeg_Snakelen+12=Snakeg_Snakelen2;else if(west=Snakeg_Snakelen2)Snakeg_Snakelen+10=Snakeg_Snakelen0;Snakeg_Snakelen+11=Snakeg_Snakelen1+2;Snakeg_Snakelen+12=Snakeg_Snakelen2;else
11、 if(south=Snakeg_Snakelen2)Snakeg_Snakelen+10=Snakeg_Snakelen0-1;Snakeg_Snakelen+11=Snakeg_Snakelen1;Snakeg_Snakelen+12=Snakeg_Snakelen2;else if(north=Snakeg_Snakelen2)Snakeg_Snakelen+10=Snakeg_Snakelen0+1;Snakeg_Snakelen+11=Snakeg_Snakelen1;Snakeg_Snakelen+12=Snakeg_Snakelen2;g_Snakelen+;ProFood=tr
12、ue;g_Score+;void Score()COORD rd;rd.X=55;rd.Y=8;/設置光標位置SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),rd);/打印printf("分數(shù)");rd.X=56;rd.Y=9;/設置光標位置SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),rd);/打印printf("%d",g_Score);int main(void) Page();/顯示頁面 /Mps();/播放音樂 Check(); /Stopm();/按空格鍵停止播放音樂 system("cls");/清屏; /游戲界面 SetSnake();/設置蛇的位置 shows2(); while(1) system("cls");ProduceFood(); SnakeGrow();/蛇變長 Chan
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 審計學(教學課件)第九章 采購與付款循環(huán)的審計
- 2020年江西省中考滿分作文《好的故事》8
- 銅冶煉廠的工藝參數(shù)優(yōu)化與生產(chǎn)效率提升考核試卷
- 郵政器材產(chǎn)品研發(fā)與測試考核試卷
- 鄉(xiāng)村旅游行業(yè)助力農(nóng)產(chǎn)品產(chǎn)銷分析
- 珠寶首飾品牌故事與歷史文化考核試卷
- 零售業(yè)綠色供應鏈管理考核試卷
- 蛋品加工行業(yè)環(huán)保產(chǎn)業(yè)現(xiàn)狀與發(fā)展考核試卷
- 顯示器件性能測試與評估考核試卷
- 2023年企業(yè)人力資源管理師之二級人力資源管理師練習題及答案(二)
- SH/T 3046-2024 石油化工立式圓筒形鋼制焊接儲罐設計規(guī)范(正式版)
- JT∕T 795-2023 事故汽車修復技術規(guī)范
- 二年級乘除法口算題計算練習大全2000題(可直接打印)
- 數(shù)學-湖北省鄂東南省級示范高中教育教學改革聯(lián)盟學校2022-2023學年高一上學期期中聯(lián)考
- 2024年貴州省鄉(xiāng)村振興政策知識考試題庫(含答案)
- 23年11月14日江蘇省南京鼓樓八上語文期中【學生】
- 《工程制圖基礎》課件
- 正確使用詞語(實詞、虛詞)課件
- 溫室氣體排放量統(tǒng)計表全套范本
- 5.40.38火災自動報警系統(tǒng)應急廣播揚聲器和警報裝置安裝質量標準和檢驗方法(完)
- 智能制造中的預測性維護
評論
0/150
提交評論