贪食蛇游戏实现思路

贪食蛇游戏实现思路

ID:35465575

大小:74.45 KB

页数:4页

时间:2019-03-25

贪食蛇游戏实现思路_第1页
贪食蛇游戏实现思路_第2页
贪食蛇游戏实现思路_第3页
贪食蛇游戏实现思路_第4页
资源描述:

《贪食蛇游戏实现思路》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、贪食蛇游戏实现思路1•游戏状态参数定义vargameLoop;var型旦I辿]]I;//療戏区域敗急誓vargameHeight;//滋我区域勿髙度varsuagdafc;//保存蛇的数组varfood={nxn::-小;//食物口方块的大小varpx;varleft=37;varup=38;varright=39;vardown=40;//游戏的控制蛇的方向varleft=37;varup=38;varright=39;//蛇头的方商vardown=40;vard;//游戏开关varfalgD

2、;2•编写初始化方法,初始化游戏里面的必要数据init();//游戏初始化数据的方法functioninit()gameWidth

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

4、[];px=20;falgD=false;d=right;initSnakeArry(3);//初始化蛇的数据initFood();piay();2.1编写initSnakeArry函数,初始化蛇数组'口初始化蛇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•编写开始游戏的方法,调用打印蛇和食物的方法,接下来编写蛇移动的方法。functionplay()//很重要的代码,需要给游戏区域绘制snakeArry[i]・y*pxJpx-ctx.fillstyle='white';ctx.fillRect(0^0,gameWidthgameHeight);ctx.strokeStyle=1black1;ctx.stro

9、keRect(0,0,gameWidth,gameHeight);paintSnake();//打印蛇到区域游戏paintCell(food.x,food・y);//为r印食物到游戏区域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('游戏结束了,是否继续’)){return;}else{clearlnterval(gameLoop);return;}}snakeAr

17、ry.unshift(head);falgD=true;}4.1键盘按下去触发事件//键盘事件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

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。