- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
纯javascript写的贪吃蛇游戏,只兼容火狐
html
head
meta http-equiv=Content-Type content=text/html; charset=utf-8
title贪吃蛇/title
style type=text/css
#container{width:250px;height:250px;position:relative;top:100px;left:100px;border:1px solid #999;}
#snake_head{width:9px;height:9px;background-color: red;position:absolute;top:100px;left:100px;border:1px solid #fff;}
.snake_body{width:9px;height:9px;background-color:#ccc;border:1px solid #fff;position:absolute;left:0;top:0;}
#eat{width:9px;height:9px;border:1px solid #fff;background:gray;position:absolute;}
/style
script type=text/javascript
function Snake()
{
var args=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); //食物
this.container_size={x:25,y:25} //容器的大小
this.eat_position=new Object(); //保存食物的位置
this.snack_body=new Array(); //保存蛇身的数组
this.snake_num=5; //初始化蛇身截数
this.step=1 //蛇移动的步长
this.direct=down; //初始化蛇运动的方向
this.t=500; //初始化蛇运动时间间隔
erval=; //初始化计时器
}
Stotype={
//初始化
init:function (){
this.init_snake_body(this.snake_num);
this.snack_move();
this.update_eat_position();
},
//移动蛇身
snack_move:function (){
//对象冒充解决闭包作用域问题
(function (obj){erval=setInterval(function (){
//开始移动 移动每截蛇身
obj.start_move(obj.snack_body,obj.change_snack_direct());
},obj.t);})(this);
},
//开始移动
start_move:function (snack_body,direct){
var sh_position=this.get_snack_head_position();
var sb_elem=;
switch(direct)
{
case down:
//碰撞
this.run_into(sh_position);
//移动蛇头
this.run_snack_head({x:sh_position.x,y: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_eat(sh_p
原创力文档


文档评论(0)