《C語言程序設(shè)計:從計算思維到項目驅(qū)動(微課視頻版)》課件 第12章 貪吃蛇_第1頁
《C語言程序設(shè)計:從計算思維到項目驅(qū)動(微課視頻版)》課件 第12章 貪吃蛇_第2頁
《C語言程序設(shè)計:從計算思維到項目驅(qū)動(微課視頻版)》課件 第12章 貪吃蛇_第3頁
《C語言程序設(shè)計:從計算思維到項目驅(qū)動(微課視頻版)》課件 第12章 貪吃蛇_第4頁
《C語言程序設(shè)計:從計算思維到項目驅(qū)動(微課視頻版)》課件 第12章 貪吃蛇_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第12章貪吃蛇項目開發(fā)貪吃蛇作為一款老少皆宜的游戲,它的游戲簡單,極易上手。它的游戲玩法是:一條小蛇在密閉的圍墻內(nèi),在圍墻內(nèi)隨機出現(xiàn)一個食物,通過按鍵盤上的“WASD”四個鍵位,控制蛇向上下左右四個方向移動。當(dāng)蛇頭撞到食物,則表示食物被蛇吃掉,這時蛇的身體長一節(jié),接著又出現(xiàn)食物,等待被蛇吃掉。如果蛇在移動過程中,撞到墻壁或身體交叉蛇頭撞到蛇尾則游戲結(jié)束。因此該游戲的功能可概括如下:(1)貪吃蛇游戲開始STARTGAME。(2)貪吃蛇游戲的主界面模塊。(3)貪吃蛇游戲鍵盤的控制模塊。(4)貪吃蛇游戲結(jié)束GAMEOVER。游戲概述PART01架構(gòu)設(shè)計Architecturaldesign地圖與蛇的生成和初始化貪吃蛇的移動與碰撞檢測食物的生成與吃到食物判定隨機生成食物確保其不與貪吃蛇或墻壁重疊貪吃蛇頭部是否與食物碰撞玩家控制貪吃蛇移動鍵盤輸入移動方向創(chuàng)建游戲地圖設(shè)定墻壁和食物的位置初始化貪吃蛇的身體設(shè)定初始位置和長度設(shè)定貪吃蛇的移動方向和速度貪吃蛇頭部是否與墻壁碰撞01開發(fā)步驟開始界面與地圖設(shè)計Step1蛇身的創(chuàng)建Step2隨機食物的產(chǎn)生Step3碰撞檢測Step4游戲可靠性測試Step5PART02部分函數(shù)展示Partofthefunctiondisplay02部分函數(shù)展示voidInitInterface(){ color(6); for(inti=0;i<ROW;i++) { for(intj=0;j<COL;j++) { if(j==0||j==COL-1) { face[i][j]=WALL; CursorJump(2*j,i); printf("■"); } elseif(i==0||i==ROW-1) { face[i][j]=WALL; printf("■"); }地圖的創(chuàng)建else { face[i][j]=KONG; } } } color(7); CursorJump(0,ROW); printf("當(dāng)前得分:%d",grade); CursorJump(COL,ROW); printf("歷史最高得分:%d",max);02部分函數(shù)展示初始化蛇voidInitSnake(){ snake.len=2; snake.x=COL/2; snake.y=ROW/2; body[0].x=COL/2-1; body[0].y=ROW/2; body[1].x=COL/2-2; body[1].y=ROW/2; face[snake.y][snake.x]=HEAD; face[body[0].y][body[0].x]=BODY; face[body[1].y][body[1].x]=BODY;}02部分函數(shù)展示隨機食物

產(chǎn)

生voidRandFood(){ inti,j; do { i=rand()%ROW; j=rand()%COL; }while(face[i][j]!=KONG);//確保生成食物的位置為空,若不為空則重新生成 face[i][j]=FOOD;//將食物位置進行標(biāo)記 color(12); CursorJump(2*j,i);//光標(biāo)跳轉(zhuǎn)到生成的隨機位置處 printf("●");}02部分函數(shù)展示碰撞檢測voidJudgeFunc(intx,inty){ //若蛇頭即將到達的位置是食物,則得分 if(face[snake.y+y][snake.x+x]==FOOD) { snake.len++; grade+=10; color(7); CursorJump(0,ROW); printf("當(dāng)前得分:%d",grade);//重新打印當(dāng)前得分 RandFood();//重新隨機生成食物 } //若蛇頭即將到達的位置是墻或者蛇身,則游戲結(jié)束

elseif(face[snake.y+y][snake.x+x]==WALL||face[snake.y+y][snake.x+x]==BODY) { Sleep(1000);// system("cls");//清空屏幕 color(7); CursorJump(2*(COL/3),ROW/2-3); if(grade>max) {

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論