欢迎来到天天文库
浏览记录
ID:9080931
大小:71.50 KB
页数:7页
时间:2018-04-16
《纯javascript写的贪吃蛇游戏只兼容火狐》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、
2、und-color:red;position:absolute;top:100px;left:100px;border:1pxsolid#fff;}.snake_body{width:9px;height:9px;background-color:#ccc;border:1pxsolid#fff;position:absolute;left:0;top:0;}#eat{width:9px;height:9px;border:1pxsolid#fff;background:gray;position:
3、absolute;}functionSnake(){varargs=arguments;this.container=document.getElementById(args[0].container_id);//容器this.sh=document.getElementById(args[0].sh_id);//蛇头this.eat=document.getElementById(args[0].eat_id);//食物t
4、his.container_size={x:25,y:25}//容器的大小this.eat_position=newObject();//保存食物的位置this.snack_body=newArray();//保存蛇身的数组this.snake_num=5;//初始化蛇身截数this.step=1//蛇移动的步长this.direct='down';//初始化蛇运动的方向this.t=500;//初始化蛇运动时间间隔this.interval='';//初始化计时器}Snake.prototype=
5、{//初始化'init':function(){this.init_snake_body(this.snake_num);this.snack_move();this.update_eat_position();},//移动蛇身'snack_move':function(){//对象冒充解决闭包作用域问题(function(obj){obj.interval=setInterval(function(){//开始移动移动每截蛇身obj.start_move(obj.snack_body,obj.ch
6、ange_snack_direct());},obj.t);})(this);},//开始移动'start_move':function(snack_body,direct){varsh_position=this.get_snack_head_position();varsb_elem='';switch(direct){case'down'://碰撞this.run_into(sh_position);//移动蛇头this.run_snack_head({'x':sh_position.x,'y
7、':sh_position.y+this.step});//移动蛇身将蛇身最后一截拿掉,在身体最前面加一截this.remove_snack_body(this.snack_body.pop());sb_elem=this.create_snake_body({'x':sh_position.x*10,'y':(sh_position.y)*10});this.snack_body.unshift(sb_elem);this.add_snake_body(sb_elem);this.start_ea
8、t(sh_position);break;case'right'://碰撞this.run_into(sh_position);//移动蛇头this.run_snack_head({'x':sh_position.x+this.step,'y':sh_position.y});this.remove_snack_body(this.snack_body.pop());sb_elem=this.create_snake_body({'x':sh_position.x*1
此文档下载收益归作者所有