当前位置:首页 > 日记 > 正文

一个本地js实现的蛇网页游戏的完整例子

一个本地js实现的蛇网页游戏的完整例子
本文介绍了蛇网页游戏的本地js实现,供大家参考,具体的实现方法如下:
贪吃蛇网页游戏

星= {
init:函数(){
无功bigdiv = this.appendele(this.addstyle(this.createle()),
{女:'900',H:'600,P:'absolute,T:10,我:500 }));
对于(var i = 0;i < 600 30;i +){
星的数据。arrayall {我} = { };
对于(var j = 0;j < 900 30;j + +){
div = this.addstyle(this.createle(),{女:(!{ 1,} 30:28),h!+ { 1 } 30:28),F:右,边境:'1px固体# 666 });
div.setattribute(若干,我* 30 + J)
This.appendEle(div,bigdiv)
星的数据。arrayall {我} { } = div {J}.;
}
}
bigdiv = this.appendele(this.addstyle(this.createle()),
{女:'900',H:'600,P:'absolute,T:10,我:500 }));
this.pusheleinselect(明星。数据。arrayall { 9 } { 15 },明星的数据。arrayall { 9 } { 14 },明星的数据。arrayall { 9 } { 13 })
This.keyBoard.apply(这个参数);
this.appearpoint();
This.left();
},
appearpoint:函数(){
VaR数组= { };
VaR值;
对于(var i = 0;i < 600;i + +){
如果(!this.hasinarray(明星。数据。arrayall { parseInt(我 / 30)} { 30 }我%。getAttribute(数的),明星的数据。arrayselect)){
ArrayIn.push(明星。数据。arrayall {我})
}
}
star.data.foodnumber =数= parseInt(Math.random()*数组长度);
this.givecolor(数)
},
GiveColor:功能(数){
var div =明星。数据。arrayall { parseInt(数/ 30)} { 30 }数%;
star.timeinterval.timeb = setInterval(){()函数(
如果(div.classname = = 'shanshuo){
div.classname =
div.style.backgroundcolor =# FFF
}
别的{
div.classname = 'shanshuo;
div.style.backgroundcolor =# F00
}
},500)
},
disappearcolor:函数(){
clearInterval(明星。时间。时间B);
星的数据。arrayall { parseInt(明星。数据。foodnumber / 30)} {明星。数据。foodnumber % 30 }。style.backgroundcolor =# F00;
},
HasInArray:功能(数量、阵列){
对于(var在数组中){
如果(数组{我}是{数组)
如果(this.hasinarray(数字,数组{我})){
返回true;
}
}
如果(数组{ } { }对象数组对象(数的)=号返回true);
}
返回false;
},
键盘:函数(){
var =;
document.onkeydown =功能(e){
E = E:window.event;
开关(能){
案例37:如果(star.keycode = 37 | | star.keycode = = 39)}(自左){ return;断裂;
案例38:如果(star.keycode = 38 | | star.keycode = = 40)}(自我的){ return;断裂;
案例39:如果(star.keycode = 37 | | star.keycode = = 39)}(自右){ return;断裂;
案例40:如果(star.keycode = 38 | | star.keycode = = 40)}(自我。下){ return;断裂;
}
}
},
左:函数(){
var,数字,自我=这个;
star.keycode = 37;
clearInterval(明星。时间。时间)
star.timeinterval.timea = setInterval(){()函数(
数=星。数据。arrayselect { 0 } getAttribute(数);
如果(数% 30 <= 0 | | self.hasinarray(1、明星。数据。arrayselect)){
Self.guanle();
}
别的{
如果(star.data.foodnumber = = 1){
self.pusheleinselect(明星。数据。arrayall { parseInt(明星。数据。foodnumber / 30)} {明星。数据。foodnumber % 30 });
Self.disappearColor();
Self.appearPoint();
}
别的{
div = star.data.arrayselect.pop();
div.style.background =# FFF;
self.pusheleinselect(明星。数据。arrayall { parseInt(数/ 30)} {编号为30-1 });
}
}
},明星。时间的速度)。
},
函数(){
var,数字,自我=这个;
star.keycode = 38;
clearInterval(明星。时间。时间)
star.timeinterval.timea = setInterval(){()函数(
数= parseInt(明星。数据。arrayselect { 0 }。getAttribute(数的));
如果(parseInt(数/ 30)<= 0 | | self.hasinarray(number-30,明星的数据。arrayselect)){
Self.guanle();
}
别的{
如果(star.data.foodnumber = = number-30){
self.pusheleinselect(明星。数据。arrayall { parseInt(明星。数据。foodnumber / 30)} {明星。数据。foodnumber % 30 });
Self.disappearColor();
Self.appearPoint();
}
别的{
div = star.data.arrayselect.pop();
div.style.background =# FFF;
self.pusheleinselect(明星。数据。arrayall { parseInt(数/ 30)1 } { 30 }数%);
}
}
},明星。时间的速度)。
},
右:函数(){
var,数字,自我=这个;
star.keycode = 39;
clearInterval(明星。时间。时间)
star.timeinterval.timea = setInterval(){()函数(
数= parseInt(明星。数据。arrayselect { 0 }。getAttribute(数的));
如果(parseInt(编号为30)> = 29 | | self.hasinarray(数+ 1星的数据。arrayselect)){
Self.guanle();
}
别的{
如果(star.data.foodnumber = =数+ 1){
self.pusheleinselect(明星。数据。arrayall { parseInt(明星。数据。foodnumber / 30)} {明星。数据。foodnumber % 30 });
Self.disappearColor();
Self.appearPoint();
}
别的{
div = star.data.arrayselect.pop();
div.style.background =# FFF;
self.pusheleinselect(明星。数据。arrayall { parseInt(数/ 30)} {数% 30 + 1 });
}
}
},明星。时间的速度)。
},
函数(){
var,数字,自我=这个;
star.keycode = 40;
clearInterval(明星。时间。时间)
star.timeinterval.timea = setInterval(){()函数(
数= parseInt(明星。数据。arrayselect { 0 }。getAttribute(数的));
如果(parseInt(数/ 30)> = 19 | | self.hasinarray(数+ 30星的数据。arrayselect)){
Self.guanle();
}
别的{
如果(star.data.foodnumber = =数+ 30){
self.pusheleinselect(明星。数据。arrayall { parseInt(明星。数据。foodnumber / 30)} {明星。数据。foodnumber % 30 });
Self.disappearColor();
Self.appearPoint();
}
别的{
div = star.data.arrayselect.pop();
div.style.background =# FFF;
self.pusheleinselect(明星。数据。arrayall { parseInt(数/ 30)+ 1 } { 30 }数%);
}
}
},明星。时间的速度)。
},
Guanle:函数(){
警报(+墙,总计:(明星。数据。arrayselect。长度为3)* parseInt(1000 /明星。时间间隔。速度));
location.reload();
},
CreatEle:功能(标签){
VaR tagname = tag'div| |
返回document.createelement(TagName)
},
AppendEle:功能(ELE,父亲){
父亲,父亲document.body VaR document.documentelement | | | |
Father.appendChild(元)
返回元素;
},
addstyle:功能(ELE,CSS){
对于(在CSS中的var i){
开关(i){
case'b:ele.style.background = CSS {我};打破;
case'l:ele.style.left = CSS {我} + 'px打破的;
case'r:ele.style.right = CSS {我} + 'px打破的;
案例不:ele.style.top = CSS {我} + 'px打破的;
情况会:ele.style.down = CSS {我} + 'px打破的;
case'p:ele.style.position = CSS {我};打破;
case'w:ele.style.width = CSS {我} + 'px打破的;
case'h:ele.style.height = CSS {我} + 'px打破的;
case'f:ele.style.cssfloat = CSS {我};ele.style.stylefloat = CSS {我};打破;
默认值:样式{ };
}
}
返回元素;
},
pusheleinselect:函数(){
对于(var i = 0;i < arguments.length;i++){
star.data.arrayselect = { } } {我的论点。concat(明星。数据。arrayselect)
this.addstyle(参数{我},{乙:# F00})
}
}
}
星数据= {
ArrayAll:{ },
arrayselect:{ },
新:空,
foodnumber:0
}
时间间隔= {明星。
时间:零,
概念:空
}
star.keycode = 0;
在window.onload =函数(){
VaR选择= star.createle('select);
无功optiondefault = star.createle('option');
optiondefault.innerhtml =请选择门'
Star.appendEle(optiondefault,选择)
star.addstyle(选择,{女:200、H:30,P:'absolute,左:40%,顶部:40%的})
对于(var i = 0;i < 10;i + +){
期权= star.createle('option');
option.innerhtml =+(i + 1)+管
Star.appendEle(选项,选择);
}
Star.appendEle(选择)
Select.onchange =函数(){
选择以价值=选择。选择{选择。SelectedIndex }。价值选择。选择{选择。SelectedIndex innerHTML | | }。
VaR值= selectvalue.match( / D /){ 0 }
star.timeinterval.speed = parseInt(200号);
star.addstyle(选择,{显示:不关});
Star.init();
}
}

希望本文能对大家的javascript程序设计有所帮助。

相关文章

WPS文本绘制工具栏教程WPS文本教程

WPS文本绘制工具栏教程WPS文本教程

教程,文本,工具栏,绘制,电脑软件,谁使用word2003的朋友可以使用工具栏的使用,如果突然转换使用WPS程序,有些人觉得这是很不容易的。有很多人因为找到一个绘图工具栏是最常见的问题。 这个WPS文本画图工具条教程是专门为你编译的,希望能对你有…

什么是移动令牌手机令牌可以做什么

什么是移动令牌手机令牌可以做什么

令牌,常见问题,做什么,电脑软件,QQ,手机令牌是腾讯公司专门推出的保护QQ账号和游戏设备、手机安全软件,以及QQ绑定,令牌每30秒就会产生一个新的,动态密码是不可重用的。 绑定手机令牌,保护,保护,Q币游戏QQ登录保护,告别DNF装备被盗,莫名其妙地失去…

快乐的节日贺卡PS图象处理软件设计

快乐的节日贺卡PS图象处理软件设计

软件设计,图象处理,节日,快乐,电脑软件,用阳光温暖羊年的脚步,用幸福的心情美化羊年的景色,用幸福编织羊年的故事,和平地开拓羊的路,真诚地传递羊的祝福,愿你的羊年快乐幸福。 用阳光温暖羊年的脚步,用幸福的心情美化羊年的景色,用幸福编织羊年的…

详细说明HTML5中的标签

详细说明HTML5中的标签

标签,详细说明,电脑软件,本文主要介绍HTML5中的标签,它是HTML5引入中的一个重要知识,您需要的朋友可以参考它。 HTML5模板元素的第一个面 这个元素,基本上可以在2013中确定。为什么使用它,顾思维,就是要声明模板元素;。 目前,我们将模板HTML嵌入…

用于确定变量是否具有值的Javascript方法

用于确定变量是否具有值的Javascript方法

变量,方法,用于,电脑软件,Javascript,本文介绍了一种用Javascript判断变量是否值的方法,供大家参考,具体分析如下: 例如: var = null; 未定义的; 这两个案例不值这个价。 如果(空= =!=未定义的){ } 为什么不/如果!= NULL) VaR; 一个!= NULL 为什么不/如果!=…

PS图象处理软件外在的美,刻画出淡淡

PS图象处理软件外在的美,刻画出淡淡

图象,外在,处理软件,颜色,刻画出,本教程是介绍PS图象处理软件的朋友外在的美,刻画出淡淡清新的颜色,教程调出来的效果非常好,推荐给喜欢的朋友学习 本教程主要是用PS图象处理软件的外在的美,刻画出淡淡清新的颜色,很多摄影师都问如何修复光透明…

Excel如何限制唯一数据进入Excel表

Excel如何限制唯一数据进入Excel表

表数据,数据,电脑软件,Excel,当Excel数据输入,经常会有一些特定的细胞,需要加载一些特定的数据值和数据是唯一的,但有时错误总是,如反复输入一个独特的价值,造成了一些麻烦,事实上,在Excel中,有一些具体的方法可以完全避免这样的事情发生,例如,我们需…

使用PS图象处理软件亮或加深工具解

使用PS图象处理软件亮或加深工具解

边缘,工具,图象,处理软件,山区,接下来,小编将向您介绍PS图象处理软件的照明或加深工具来解决毛边问题。我相信对于一些喜欢摄影的朋友来说,你会遇到这样的问题。好的,我们今天给你解释一下。 有时用LR调整照片会使山的边缘变厚。如何调整它们…

jQuery简单的按钮旋转选择效果实现

jQuery简单的按钮旋转选择效果实现

方法,选择,按钮,效果,简单,本文介绍了jQuery简单按钮旋转效果的选择方法,供大家参考,具体的实现方法如下: 按钮旋转点击效果 列表样式类型:无;浮动;左;} 功能showitem(obj,旗){ 对于(var i = 1;i 无功but_id =but_+我; 如果(but_ +我= =对象ID){ documen…

jQuery性能优化技术分析

jQuery性能优化技术分析

技术分析,性能优化,电脑软件,jQuery,本文详细分析了jQuery性能优化技术,供大家参考,具体分析如下: 首先,使用jQuery类库的最新版本 与以前版本相比,新版本的jQuery将进行bug修复和一些优化。但是,需要注意的是,在更改版本后,不要忘记测试代码,毕竟…

创意橙子和苹果的PS复合图

创意橙子和苹果的PS复合图

复合,创意,橙子,电脑软件,PS,本教程是介绍橙子和苹果创意合成PS的使用图片,教程综合效果很好,很特别,也不是很难,推荐,感兴趣的朋友可以跟着教程学习或者开发自己的思路,设计一种创造性的综合方法。 本教程是介绍一个朋友谁使用PS结合创意橙子和…

QQ如何超退订QQ技巧

QQ如何超退订QQ技巧

退订,技巧,电脑软件,QQ,何超,超级QQ是一种高贵的身份,拥有超级QQ的用户享有很多特权,但他们每月都要绑定一部手机,很多用户一开始就对超级QQ感兴趣,但是一旦打开了,他们会觉得超级QQ不有趣,也不贵,所以他们想退订。以下萧边将分享超级QQ的退订方法…