貪食蛇游戲?qū)崿F(xiàn)思路

貪食蛇游戲?qū)崿F(xiàn)思路

ID:35465575

大?。?4.45 KB

頁數(shù):4頁

時間:2019-03-25

貪食蛇游戲?qū)崿F(xiàn)思路_第1頁
貪食蛇游戲?qū)崿F(xiàn)思路_第2頁
貪食蛇游戲?qū)崿F(xiàn)思路_第3頁
貪食蛇游戲?qū)崿F(xiàn)思路_第4頁
資源描述:

《貪食蛇游戲?qū)崿F(xiàn)思路》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。

1、貪食蛇游戲?qū)崿F(xiàn)思路1?游戲狀態(tài)參數(shù)定義vargameLoop;var型旦I辿]]I;//療戲區(qū)域敗急誓vargameHeight;//滋我區(qū)域勿髙度varsuagdafc;//保存蛇的數(shù)組varfood={nxn::-?。?/食物口方塊的大小varpx;varleft=37;varup=38;varright=39;vardown=40;//游戲的控制蛇的方向varleft=37;varup=38;varright=39;//蛇頭的方商vardown=40;vard;//游戲開關(guān)varfalgD

2、;2?編寫初始化方法,初始化游戲里面的必要數(shù)據(jù)init();//游戲初始化數(shù)據(jù)的方法functioninit()gameWidth

3、=cl.width;gameHeight=c2?height;snakeArry^=^

4、[];px=20;falgD=false;d=right;initSnakeArry(3);//初始化蛇的數(shù)據(jù)initFood();piay();2.1編寫initSnakeArry函數(shù),初始化蛇數(shù)組'口初始化蛇functioninitSnakeArry(Length){for(

5、vari=length;i>0;i??){snakeArry.push({"xn:i,"y":0});}}■??2.2編寫初始化食物的方法//初始化食物functioninitFood(){varfl=false;do{food["x"]=Math.floor(

6、gameWidth

7、/px*Math.random());food["y"]=Math.floor(gameHeight/px*Math.random());for(vari=0;i

8、ood?x==snakeArry[i]?x&&food?y==snakeArry[i]?y){f1=true;}}}while(fl);}3?編寫開始游戲的方法,調(diào)用打印蛇和食物的方法,接下來編寫蛇移動的方法。functionplay()//很重要的代碼,需要給游戲區(qū)域繪制snakeArry[i]?y*pxJpx-ctx.fillstyle='white';ctx.fillRect(0^0,gameWidthgameHeight);ctx.strokeStyle=1black1;ctx.stro

9、keRect(0,0,gameWidth,gameHeight);paintSnake();//打印蛇到區(qū)域游戲paintCell(food.x,food?y);//為r印食物到游戲區(qū)域moveSnake();//移動吃}functionpaintCell(x’y){ctx.fillStyle='red';ctx.fillRect(x*px,y*px,px-1,px-1);}functionpaintSnake(){ctx.fillstyle='blue';for(variinsnakeArry

10、){ctx.fillRect(snakeArry[i].x*px,px-1);}}使用定時器才能使蛇動起來gameLoop=setInterval(play^100);.Z/十宀一丄r4厶—A-..亠3.1編寫蛇移動的方法functionmoveSnake(){falgD=false;//得到蛇頭的位置varhead={"x":snakeAmy[0]:snakeAnry[0]?y};if(d==left)head?x??;elseif(d==right)head.x++;elseif(d==up

11、)head.;elseif(d==down)headpop();}if(head.x==?2

12、

13、head.x=gameWidth/px

14、

15、head.y==-11

16、head?y==gameHeight/px){if(confirm('游戲結(jié)束了,是否繼續(xù)’)){return;}else{clearlnterval(gameLoop);return;}}snakeAr

17、ry.unshift(head);falgD=true;}4.1鍵盤按下去觸發(fā)事件//鍵盤事件functionchangeD(e){if(falgD){if(e.keyCode==left&&d!=right)d=left;elseif(e.keyCode==right&&d!=left)d=right;elseif(e.keyCode==up&&d!=down)d=up;elseif(e

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。