javascript 实现的多浏览器支持的贪吃蛇webgame

写的太累了 ,写了3个小时!大家可以玩玩看
界面不美,尽管批

www.jb51.net 我们 贪吃蛇

//获取新生元素位置
var bucunzai=true;//记录新元素是不是移动
var xinkx;
var xinky;
//页面载入后k元素定位
function lo(){
var objectp=document.getElementById("k")
objectp.style.left="250px"
objectp.style.top="250px"
//K元素最终样式代码
k_zz=objectp.currentStyle?document.getElementById("k").currentStyle:document.defaultView.getComputedStyle(objectp,null);
}
//记录位置的数组
var k_x=new Array()
var k_y=new Array()
//记录蛇的长度
var k_number=0
//方向键函数
document.onkeydown=pmove;
var fx=0//获取上一次的按键直
function pmove(){
if(bucunzai){
xin();
bucunzai=false;
}
objectp=document.getElementById("k")
kcode=window.event?window.event:arguments[0];
if(kcode.keyCode==39&&fx!=39&&fx!=37){
fx=kcode.keyCode;
try{
clearInterval(kbottom);
}
catch(e){
}
try{
clearInterval(kright);
}
catch(e){
}
try{
clearInterval(ktop);
}
catch(e){
}
try{
clearInterval(kleft);
}
catch(e){
}
kleft=setInterval(function(){if(parseInt(objectp.style.left)>=475){alert("超出了");clearInterval(kleft);}else{if(k_x.length>=400){k_x.shift();k_y.shift();};k_x[k_x.length]=k_zz.left;k_y[k_y.length]=k_zz.top;objectp.style.left=(parseInt(objectp.style.left)+25)+"px";}if(k_zz.left==xinkx&&k_zz.top==xinky){k_number++;xin();}k_kmove();},100)
}
if(kcode.keyCode==37&&fx!=39&&fx!=37){
fx=kcode.keyCode;
try{
clearInterval(kbottom);
}
catch(e){
}
try{
clearInterval(kright);
}
catch(e){
}
try{
clearInterval(ktop);
}
catch(e){
}
try{
clearInterval(kleft);
}
catch(e){
}
kright=setInterval(function(){if(parseInt(objectp.style.left)=400){k_x.shift();k_y.shift();};k_x[k_x.length]=k_zz.left;k_y[k_y.length]=k_zz.top;objectp.style.left=(parseInt(objectp.style.left)-25)+"px";}if(k_zz.left==xinkx&&k_zz.top==xinky){k_number++;xin();}k_kmove();},100)
}
if(kcode.keyCode==40&&fx!=40&&fx!=38){
fx=kcode.keyCode;
try{
clearInterval(kbottom);
}
catch(e){
}
try{
clearInterval(kright);
}
catch(e){
}
try{
clearInterval(ktop);
}
catch(e){
}
try{
clearInterval(kleft);
}
catch(e){
}
kbottom=setInterval(function(){if(parseInt(objectp.style.top)>=475){alert("超出了");clearInterval(kbottom);}else{if(k_x.length>=400){k_x.shift();k_y.shift();};k_x[k_x.length]=k_zz.left;k_y[k_y.length]=k_zz.top;objectp.style.top=(parseInt(objectp.style.top)+25)+"px";}if(k_zz.left==xinkx&&k_zz.top==xinky){k_number++;xin();}k_kmove();},100)
}
if(kcode.keyCode==38&&fx!=40&&fx!=38){
fx=kcode.keyCode;
try{
clearInterval(kbottom);
}
catch(e){
}
try{
clearInterval(kright);
}
catch(e){
}
try{
clearInterval(ktop);
}
catch(e){
}
try{
clearInterval(kleft);
}
catch(e){
}
ktop=setInterval(function(){if(parseInt(objectp.style.top)=400){k_x.shift();k_y.shift();};k_x[k_x.length]=k_zz.left;k_y[k_y.length]=k_zz.top;objectp.style.top=(parseInt(objectp.style.top)-25)+"px";}if(k_zz.left==xinkx&&k_zz.top==xinky){k_number++;xin();}k_kmove();},100)
}
}
//生成新的元素代码
function xin(){
var xinkleft=parseInt(Math.random()*20)*25+"px";
var xinktop=parseInt(Math.random()*20)*25+"px";
var xinkcolor1=parseInt(Math.random()*14).toString(16)
var xinkcolor2=parseInt(Math.random()*14).toString(16)
var xinkcolor3=parseInt(Math.random()*14).toString(16)
var xinkcolor4=parseInt(Math.random()*14).toString(16)
var xinkcolor5=parseInt(Math.random()*14).toString(16)
var xinkcolor6=parseInt(Math.random()*14).toString(16)
var xink=document.createElement("div")
xink.id="k"+k_number
xink.className="xin"
xink.style.left=xinkleft
xink.style.top=xinktop
xink.style.backgroundColor="#"+xinkcolor1+xinkcolor2+xinkcolor3+xinkcolor4+xinkcolor5+xinkcolor6
var pp=document.getElementById("p")
pp.appendChild(xink)
xinkx=xinkleft
xinky=xinktop
}
//新的元素跟随移动函数
function k_kmove(){
if(k_number==0){}
else{
for(var i=0;i

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

(0)

相关推荐

  • 20行js代码实现的贪吃蛇小游戏

    前言 最近在csdn上看到一位大神用20行代码就写出了一个贪吃蛇的小游戏,感觉被惊艳到了,就试着读了一下这段代码,阅读过程中不断为作者写法的巧妙而叫绝,其中我发现自己对运算符优先级和一些js的技巧不是很清楚,所以看完之后决定把思路分享出来,方便和我一样的小白学习. 我对代码稍稍做了些修改,并添加了一些注释,方便理解. 示例代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="

  • javascript 贪吃蛇(详细注释版)

    贪吃蛇 Snake v1.0 body{ } table{ border-collapse: collapse; border:solid #333 1px; } td{ height: 10px; width: 10px; font-size: 0px; } .filled{ background-color:blue; } function $(id){return document.getElementById(id);} /** * javascript贪吃蛇 v1.0 * author

  • javascript编写贪吃蛇游戏

    代码很简单,这里就不多BB了,小伙伴们直接看示例吧 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta

  • 原生js实现的贪吃蛇网页版游戏完整实例

    本文实例讲述了原生js实现的贪吃蛇网页版游戏.分享给大家供大家参考.具体实现方法如下: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>原生js写的贪吃蛇网页版游戏</title> </head> <body> </body> <sc

  • javascript 贪吃蛇实现代码

    在习作的过程中尝试着贪吃蛇游戏用JS实现了.竟然成功了. 思路:使用10px*10px的div层担当"像素",然后使用40*40矩阵160个"像素"构成了游戏的界面. 下面是代码: 复制代码 代码如下: // JavaScript Document alert("键盘的方向键控制方向,空格键暂停.\nLIFE制作\nhttp://blog.csdn.net/anhulife"); // 添加基本的图形块,即160个10 * 10的层组成的二维矩阵

  • javascript贪吃蛇完整版(源码)

    javascript贪吃蛇完整版 注释完整,面向对象 复制代码 代码如下: <html><head>    <title>贪吃蛇 Snake v2.4</title><style>    body{        font-size:9pt;    }    table{        border-collapse: collapse;        border:solid #333 1px;    }    td{        heigh

  • JS写的贪吃蛇游戏(个人练习)

    JS贪吃蛇游戏,个人练习之用,放在这备份一下,   复制代码 代码如下: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>JS贪吃蛇-练习</t

  • javascript实现简单的贪吃蛇游戏

    javascript实现简单的贪吃蛇游戏,功能很简单,代码也很实用,就不多废话了,小伙伴们参考注释吧. <html> <head> <meta http-equiv='content-type' content='text/html;charset=utf-8'> <title>贪吃蛇</title> <script type="text/javascript"> var map; //地图 var snake;

  • js编写“贪吃蛇”的小游戏

    贪吃蛇儿时的回忆,今天刚好学习到这了,就刚好做了一个,也是学习了吧,需要掌握的知识: 1.JS函数的熟练掌握, 2.JS数组的应用, 3.JS小部分AJAX的学习 4.JS中的splice.shift等一些函数的应用, 基本上就这些吧,下面提重点部分: 前端的页面,这里可自行布局,我这边提供一个我自己的布局: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org

  • js贪吃蛇游戏实现思路和源码

    本文实例为大家分享了js贪吃蛇游戏的相关代码,供大家参考,具体内容如下 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>贪吃蛇小游戏</title> <style> *{margin:0; padding:0;} header { display: block; margin: 0 auto;

随机推荐