var ele = new Object; ele = { div : document.createElement("div"), span: function (){ var sp = document.createElement("span"); for(var s in boxBaseAttr) { sp.style[s] = boxBaseAttr[s]; } sp.setAttribute("type", "good"); return sp; }, badspan : function (){ var sp2 = document.createElement("span"); for(var s in boxBaseAttr2) { sp2.style[s] = boxBaseAttr2[s]; } sp2.setAttribute("type", "bad"); return sp2; } };
var sco = 0, lifeWidth = 690, lifes = true; var bar = { getScore : function () { sco += 10; $("sc").innerHTML = sco; }, loseScore : function (){ sco -= 10; $("sc").innerHTML = sco; }, life : function (){ var life = $("life"); var sl = setInterval(function(){ if(lifeWidth < 23) { lifes = false; clearInterval(sl); return; } else { lifeWidth -= 23; life.style.width = lifeWidth + "px"; } },1000); } }; var fire = { init : function (o, x, y) { o.style.display = "block"; o.style.left = x + "px"; o.style.top = y + "px"; var fs = setInterval(function(){ if (y >= 280) { y -= 10; o.style.top = y + "px"; } else{ clearInterval(fs); o.style.display = "none"; } },10); } };
/*-- game begin --*/ function game() { var content = $("content"), x = 0; var pigBaseAttr = new Object; pigBaseAttr = { background : "url(bike.gif) no-repeat center top", position : "absolute", top : content.clientHeight-44+"px", left : (content.clientWidth - 45)/2+"px", width : "45px", height : "44px", zIndex : 1000 }; var pig = ele.div.cloneNode(true); for(var s in pigBaseAttr) { pig.style[s] = pigBaseAttr[s]; } content.appendChild(pig);
/* -- 小猪移动功能begin--*/ content.onmousemove = function (event){ var e = event || window.event; if ( x > e.clientX) { //pig.style.width = "110px"; pig.style.background = "url(bike.gif) no-repeat left top"; if (e.clientX -45 < 0) { pig.style.left = "0px"; } else if(e.clientX + 45 > 800) { pig.style.left = "755px"; } else { pig.style.left = (e.clientX - 45)+"px"; } } else if (x < e.clientX) { //pig.style.width = "110px"; pig.style.background = "url(bike2.gif) no-repeat right top"; if (e.clientX -45 < 0) { pig.style.left = "0px"; } else if(e.clientX + 45 > 800) { pig.style.left = "755px"; } else { pig.style.left = (e.clientX - 45)+"px"; } } x = e.clientX; }
/*-- 判断是否撞击,传入参数为box和content --*/ function meet(obox,parent) { var objX = obox.offsetLeft; var pigX = pig.offsetLeft; var boxType = obox.getAttribute("type"); if (objX + 26 >= pigX && objX <= pigX + 45) { if (boxType == "good") { bar.getScore(); fire.init($("jia"), pigX, pig.offsetTop-30); } else if(boxType == "bad") { bar.loseScore(); fire.init($("jian"), pigX, pig.offsetTop-30); } obox.style.left = "-2000px"; } }
/* -- 创建随机位置的金币 begin--*/ function createbox() { var box = ele.span(); var b = 30; var boxLeft = Math.floor(Math.random()*760);//产生随机距离 box.style.left = boxLeft + "px"; content.appendChild(box); //box进入游戏界面,开始移动,并开始执行函数和pig比对是否撞击 var st = setInterval(function (){ if (b < 460){ box.style.top = b + 5 + "px"; b += 5; if (b >= 416) { meet(box, content); } } else { content.removeChild(box); clearInterval(st); b = 30; } },5); }
function createbadbox() { var box = ele.badspan(); var b = 30; var boxLeft = Math.floor(Math.random()*760);//产生随机距离 box.style.left = boxLeft + "px"; content.appendChild(box); //box进入游戏界面,开始移动,并开始执行函数和pig比对是否撞击 var st = setInterval(function (){ if (b < 460){ box.style.top = b + 5 + "px"; b += 5; if (b > 416) { meet(box, content); } } else { content.removeChild(box); clearInterval(st); b = 30; } },5); }