




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、貪吃蛇源代碼.txt這世界上除了我誰都沒資格陪在你身邊。聽著,我允許你喜歡我。除了白頭偕老,我們沒別的路可選了什么時候想嫁人了就告訴我,我娶你。#include #include #include #include #include #define LEFT a#define RIGHT d#define DOWN s#define UP w#define ESC 27#define N 200 /*蛇的最大長度*/int i;char key;int score=0; /*得分*/int gamespeed=100; /*游戲速度自己調整*/struct Food int x; /*食物的橫
2、坐標*/ int y; /*食物的縱坐標*/ int yes; /*判斷是否要出現食物的變量*/food; /*食物的結構體*/struct Snake int xN; int yN; int node; /*蛇的節數*/ int direction; /*蛇移動方向*/ int life; /* 蛇的生命,0活著,1死亡*/snake;void Init(void); /*圖形驅動*/void Close(void); /*圖形結束*/void DrawK(void); /*開始畫面*/void GameOver(void); /*結束游戲*/void GamePlay(void); /*玩
3、游戲具體過程*/void PrScore(void); /*輸出成績*/*主函數*/void main(void) Init(); /*圖形驅動*/ DrawK(); /*開始畫面*/ GamePlay(); /*玩游戲具體過程*/ Close(); /*圖形結束*/*圖形驅動*/void Init(void) int gd=9,gm=2; initgraph(&gd,&gm, ); cleardevice();/*開始畫面,左上角坐標為(50,40),右下角坐標為(610,460)的圍墻*/void DrawK(void) /*setbkcolor(LIGHTGREEN);*/ setcol
4、or(LIGHTCYAN); setlinestyle(PS_SOLID,0,1); /*設置線型*/ for(i=50;i=600;i+=10) /*畫圍墻*/ rectangle(i,40,i+10,49); /*上邊*/ rectangle(i,451,i+10,460); /*下邊*/ for(i=40;i0;i-) /*蛇的每個環節往前移動,也就是貪吃蛇的關鍵算法*/ snake.xi=snake.xi-1; snake.yi=snake.yi-1; /*1,2,3,4表示右,左,上,下四個方向,通過這個判斷來移動蛇頭*/ switch(snake.direction) case 1
5、: snake.x0+=10;break; case 2: snake.x0-=10;break; case 3: snake.y0-=10;break; case 4: snake.y0+=10;break; /*從蛇的第四節開始判斷是否撞到自己了,因為蛇頭為兩節,第三節不可能拐過來*/ for(i=3;isnake.node;i+) if(snake.xi=snake.x0&snake.yi=snake.y0) GameOver(); /*顯示失敗*/ snake.life=1;break; if(snake.x0595|snake.y0455) /*蛇是否撞到墻壁*/ GameOver(
6、); /*本次游戲結束*/ snake.life=1; /*蛇死*/ if(snake.life=1) /*以上兩種判斷以后,如果蛇死就跳出內循環,重新開始*/ break; if(snake.x0=food.x&snake.y0=food.y)/*吃到食物以后*/ setcolor(BLACK); /*把畫面上的食物東西去掉*/ rectangle(food.x,food.y,food.x+10,food.y-10); snake.xsnake.node=-20;snake.ysnake.node=-20; /*新的一節先放在看不見的位置,下次循環就取前一節的位置*/ snake.node+
7、; /*蛇的身體長一節*/ food.yes=1; /*畫面上需要出現新的食物*/score+=10; PrScore(); /*輸出新得分*/ setcolor(RED); /*畫出蛇*/ for(i=0;isnake.node;i+) rectangle(snake.xi,snake.yi,snake.xi+10,snake.yi-10); Sleep(gamespeed); setcolor(BLACK); /*用黑色去除蛇的的最后一節*/ rectangle(snake.xsnake.node-1,snake.ysnake.node-1, snake.xsnake.node-1+10,
8、snake.ysnake.node-1-10); /*endwhile(!kbhit)*/ if(snake.life=1) /*如果蛇死就跳出循環*/ break; key=getch(); /*接收按鍵*/ if (key = ESC) break; /*按ESC鍵退出*/ switch(key) case UP: if(snake.direction!=4) /*判斷是否往相反的方向移動*/ snake.direction=3; break; case RIGHT: if(snake.direction!=2) snake.direction=1; break; case LEFT: i
9、f(snake.direction!=1) snake.direction=2; break; case DOWN: if(snake.direction!=3) snake.direction=4; break; /*endwhile(1)*/*游戲結束*/void GameOver(void) cleardevice(); PrScore(); setcolor(RED); setfont(56,0,黑體); outtextxy(200,200,GAME OVER); getch();/*輸出成績*/void PrScore(void) char str10; setfillstyle(YELLOW);
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 快遞公司口罩供應合同3篇
- 公路工程分包合同的付款3篇
- 工程分包合同的履行規范3篇
- 店面委托書授權與控制3篇
- 勞動合同附加條款的合法性審查3篇
- 工商局授權代表授權書模板示例3篇
- 校長開學工作會議講話稿(3篇)
- 大學生暑假實習工作心得體會1000字(3篇)
- 合同解除的合法性探究3篇
- 工程人工費合同書2篇
- 2024-2030年中國街舞培訓行業發展趨勢及競爭格局分析報告
- 2024年度中國鮮食玉米行業發展前景分析簡報
- 《電力建設工程施工安全管理導則》(NB∕T 10096-2018)
- 裝修拆除安全協議書范本(2篇)
- 國家自然科學基金學科分類目錄及代碼表
- 射頻同軸連接器基礎知識及設計要點
- 員工食堂節能降耗措施
- 2024年山東省高考地理試卷真題(含答案逐題解析)
- 中國敏感性皮膚臨床診療指南(2024版)
- DB41T2689-2024水利工程施工圖設計文件編制規范
- 人教版小學五年級數學下冊《第七單元 折線統計圖》大單元整體教學設計2022課標
評論
0/150
提交評論