用JS写贪吃蛇游戏
& lthtml?xmlns= "
& lthead & gt
& ltmeta?http-equiv="Content-Type "?content = " text/html;?charset=gb2312 "?/& gt;
& lttitle & gt无标题文档
& ltstyle & gt
表{?宽度:自动;?身高:12px;}
桌子?tr{?右边框:?1px?固体?#808080;?浮动:左;}
桌子?td{border:?1px?固体?#808080;?右边界:无;?浮动:左;宽度:?10px;身高:?10px;字体大小:?0;行高:?0;溢出:?隐藏;?边距:0px?填充:0px}
。hs{?背景:# 000;}
。hs{?背景:# ffff}
& lt/style & gt;
& lt/head & gt;
& ltbody & gt
& lt脚本& gt
功能?答()
{
为了什么?(I = 1;我& lt=10;i++)
{
document.getElementById("d"+i)。className = " hs
}
}
var?苏都?=?1;//速度
var?焦油?=?1;//当前目标
var?旗帜?=?真实;//向前和向后
var?tar _ pre//最后一个
var?tar _ next//下一个
功能?a1(){
var?塔尔德?=?document . getelementbyid(" d "+tar)。className = " hs
如果(标志){
tar_pre?=?焦油?-1;//用于擦除前面的背景。当然,如果上下移动,就不是负1。可以再研究一下。
tar_next?=?tar+1;//看看接下来有没有。
if(document . getelementbyid(" d "+tar _ next)!=null){
tar+= 1;//这里1的加法也只是针对水平方向的。
}否则{
旗帜?=?假的;
tar-= 1;
}
}否则{
tar_pre?=?焦油?+1;
tar_next?=?tar-1;//看看接下来有没有。
if(document . getelementbyid(" d "+tar _ next)!=null){
tar-= 1;//这里1的加法也只是针对水平方向的。
}否则{
旗帜?=?真实;
tar+= 1;
}
}
if(document . getelementbyid(" d "+tar _ pre)!=null){
document . getelementbyid(" d "+tar _ pre)。className="hs1 "
}
setTimeout("a1()",1000)
}
& lt/script & gt;
& lt桌子?border = " 0 " & gt
& lttr & gt
& lttd?width="10 "?height="10 "?id="d1 " >?& lt/TD & gt;
& lttd?width="10 "?height="10 "?id="d2 " >?& lt/TD & gt;
& lttd?width="10 "?height="10 "?id="d3 " >?& lt/TD & gt;
& lttd?width="10 "?height="10 "?id="d4 " >?& lt/TD & gt;
& lttd?width="10 "?height="10 "?id="d5 " >?& lt/TD & gt;
& lttd?width="10 "?height="10 "?id = " D6 " & gt;?& lt/TD & gt;
& lttd?width="10 "?height="10 "?id="d7 " >?& lt/TD & gt;
& lttd?width="10 "?height="10 "?id="d8 " >?& lt/TD & gt;
& lttd?width="10 "?height="10 "?id="d9 " >?& lt/TD & gt;
& lttd?width="10 "?height="10 "?id="d10 " >?& lt/TD & gt;
& lt/tr & gt;
& lt/table & gt;
& lt输入?姓名= " "?type="button "?Value= "开始"?onclick="a1()"?/& gt;
& lt/body & gt;
& lt/html & gt;我没有写过蛇,但是我们可以一起研究。这是我的一个想法。希望交流,qqqun21.77/7/12。
突然想到一个更好的方法,就是用二维数组。