语言程序设计资料JavaScript小游戏代码Word下载.docx
《语言程序设计资料JavaScript小游戏代码Word下载.docx》由会员分享,可在线阅读,更多相关《语言程序设计资料JavaScript小游戏代码Word下载.docx(13页珍藏版)》请在冰豆网上搜索。
document.getElementById("
fbid"
).style.left=(clientw-w)/2+"
gzid"
}
functiongetMapObj()
if(mapobj==null)
mapobj=document.getElementById("
mapid"
);
returnmapobj;
//创建敌方
functioncreateYu()
for(vari=0;
i<
xyNum;
i++)
varxyObj=document.createElement("
div"
arrXY[i]=xyObj;
varsx=randomZL().split("
*"
xyObj.qdy=0;
//当敌人比我强大时,敌人向我靠近
xyObj.tp=sx[3];
//敌人类型
xyObj.sdx=getRandom(10);
//敌人向左移动的速度
xyObj.sdy=0;
//敌人向上移动的速度
xyObj.style.position="
absolute"
xyObj.style.left=getMapWidth()+"
xyObj.style.top=getRandom(getMapHeight())+"
xyObj.style.width=sx[0];
xyObj.style.height=sx[1];
xyObj.style.border="
whitesolid1px"
xyObj.style.filter="
alpha(opacity=80)"
xyObj.style.opacity=0.8;
xyObj.style.backgroundColor=sx[2];
getMapObj().appendChild(xyObj);
createMyYu();
moveYu();
//随机敌人类型
functionrandomZL()
varzl=getRandom(10);
varw="
//敌人的宽
varh="
//高
varcolor="
//颜色
vartp="
//类型
if(zl>
=1&
&
zl<
=3)
w="
20px"
h="
color="
cyan"
tp="
1"
//敌人类型,1最小,依次类推
elseif(zl==4||zl==5)
40px"
yellow"
2"
elseif(zl==6||zl==7)
60px"
gray"
3"
elseif(zl==8)
80px"
black"
4"
else
red"
5"
//tp=5为补生命值
returnw+"
+h+"
+color+"
+tp;
//创建我自己
functioncreateMyYu()
{
//创建我自己外面的div,用于判断敌人是否在我附近
myObjII=document.createElement("
myObjII.style.position="
myObjII.style.left="
0px"
myObjII.style.top="
myObjII.style.width="
120px"
myObjII.style.height="
myObjII.style.backgroundColor="
//
getMapObj().appendChild(myObjII);
//创建我自己跟随鼠标移动的div
myObjI=document.createElement("
myObjI.style.position="
myObjI.style.left="
myObjI.style.top="
myObjI.style.width="
myObjI.style.height="
myObjI.tp="
myObjI.style.backgroundColor="
blue"
myObjI.style.border="
getMapObj().appendChild(myObjI);
//获取某个值下的随机数
functiongetRandom(maxval)
varsj=parseInt(Math.random()*maxval);
if(sj==0)
sj=1;
returnsj;
//敌人移动
functionmoveYu()
arrXY.length;
//敌人向左移动
arrXY[i].style.left=getObjWaH(arrXY[i],"
left"
)-arrXY[i].sdx+"
//敌人向上移动
if(getObjWaH(arrXY[i],"
top"
)<
=getMapHeight()/2)
arrXY[i].style.top=getObjWaH(arrXY[i],"
)-arrXY[i].sdy+"
else
)+arrXY[i].sdy+"
)+arrXY[i].qdy+"
//敌人从地图中消失
0||getObjWaH(arrXY[i],"
)>
getMapHeight())
resetMove(arrXY[i]);
//判断敌人是否在我附近
if(isChongDie(myObjII,arrXY[i]))
if(myObjI.tp-0>
=arrXY[i].tp-0)//比对方强大时,敌人逃跑
arrXY[i].sdy=10;
elseif(arrXY[i].tp-0!
=5)//比对方弱小时,敌人向我靠近
if(getObjWaH(myObjI,"
getObjWaH(arrXY[i],"
))
if(arrXY[i].qdy==0)
arrXY[i].qdy=-10;
//向上靠近
if(arrXY[i].qdy==0)
arrXY[i].qdy=10;
//向下靠近
else//不在我附近时,还原值
arrXY[i].qdy=0;
//判断是否吃掉对方,或被对方吃掉
if(isChongDie(myObjI,arrXY[i]))
//吃掉对方
=arrXY[i].tp-0)
var_szz=0;
if(arrXY[i].tp=="
)
_szz=10;
elseif(arrXY[i].tp=="
_szz=15;
_szz=20;
_szz=25;
varnowszz=getObjWaH(document.getElementById("
szz"
),"
width"
)+_szz;
if(nowszz>
=500)//长大一级
if(myObjI.tp-0<
5)
myObjI.tp=myObjI.tp-0+1;
myObjI.style.width=getObjWaH(myObjI,"
)+20+"
myObjI.style.height=getObjWaH(myObjI,"
height"
).style.width="
10px"
alert("
哈哈...顺我者昌逆我者亡!
window.location.href=window.location.href;
).style.width=nowszz+"
).innerHTML=nowszz;
elseif(arrXY[i].tp-0==5)//吃到生命值
varnowsmz=getObjWaH(document.getElementById("
smz"
)+50;
if(nowsmz>
=500)
500px"
).style.width=nowsmz+"
).innerHTML=document.getElementById("
).style.width.replace("
else//被对方吃掉
var_smz=0;
_smz=10;
_smz=20;
_smz=50;
_smz=100;
)-_smz;
if(nowsmz<
=0)//
).innerHTML="
0"
over"
).innerHTML=nowsmz;
setTimeout(moveYu,50);
//敌人从地图中消失时重置
functionresetMove(yuobj)
yuobj.tp=sx[3];
yuobj.sdx=getRandom(10);
yuobj.sdy=0;
yuobj.style.width=sx[0];
yuobj.style.height=sx[1];
yuobj.style.backgroundColor=sx[2];
yuobj.style.left=getMapWidth()+"
yuobj.style.top=getRandom(getMapHeight())+"
functiongetMapWidth()
returngetMapObj().style.width.replace("
functiongetMapHeight()
returngetMapObj().style.height.replace("
functiongetMapTop()
returngetMapObj().style.top.replace("
functiongetMapLeft()
returngetMapObj().style.left.replace("
functiongetObjWaH(obj,wah)
returnobj.style[wah].replace("
//跟随鼠标移动的div(我自己)
functionmouseMove(e)
varmyObjIleft=e.clientX-getMapLeft()-getObjWaH(myObjI,"
)/2;
if(myObjIleft<
0)
myObjIleft=0;
if(myObjIleft>
getMapWidth()-getObjWaH(myObjI,"
myObjIleft=getMapWidth()-getObjWaH(myObjI,"
myObjI.style.left=myObjIleft+"
varmyObjIIleft=e.clientX-getMapLeft()-getObjWaH(myObjII,"
if(myObjIIleft<
myObjIIleft=0;
if(myObjIIleft>
getMapWidth()-getObjWaH(myObjII,"
myObjIIleft=getMapWidth()-getObjWaH(myObjII,"
myObjII.style.left=myObjIIleft+"
varmyObjItop=e.clientY-getMapTop()-getObjWaH(myObjI,"
if(myObjItop<
myObjItop=0;
if(myObjItop>
getMapHeight()-getObjWaH(myObjI,"
myObjItop=getMapHeight()-getObjWaH(myObjI,"
myObjI.style.top=myObjItop+"
varmyObjIItop=e.clientY-getMapTop()-getObjWaH(myObjII,"
if(myObjIItop<
myObjIItop=0;
if(myObjIItop>
getMapHeight()-getObjWaH(myObjII,"
myObjIItop=getMapHeight()-getObjWaH(myObjII,"
myObjII.style.top=myObjIItop+"
//判断敌我双方是否碰撞在一起,原理:
利用两个圆的圆心距离之和是否小于两个圆的半径之和
functionisChongDie(obj1,obj2)
varobj1left=getObjWaH(obj1,"
)+getObjWaH(obj1,"
varobj2left=getObjWaH(obj2,"
)+getObjWaH(obj2,"
varobj1top=getObjWaH(obj1,"
varobj2top=getObjWaH(obj2,"
varjl=Math.sqrt(Math.abs(obj1left-obj2left)*Math.abs(obj1left-obj2left)+Math.abs(obj1top-obj2top)*Math.abs(obj1top-obj2top));
if(jl<
=getObjWaH(obj1,"
)/2+getObjWaH(obj2,"
)/2)
returntrue;
//重叠
returnfalse;
/script>
/head>
对我有用[0]丢个板砖[0]引用举报管理TOP回复次数:
211
wujinjian2008n
(JS)
等 级:
#1楼得分:
0回复于:
2010-06-1123:
06:
57
HTMLcode
bodyonload="
formPosition(),createYu()"
onresize="
formPosition()"
style="
font-size:
10pt"
divid="
position:
absolute;
left:
0px;
top:
10px;
width:
795px;
height:
45px;
background-color:
rgb(223,223,223);
padding-left:
5px;
border:
blacksolid1px"
table>
tr>
td>
生命值:
/td>
500px;
15px;
red;
color:
white;
font-weight:
bold"
align="
center"
500<
/div>
/tr>
生长值:
blue;
0<
/table>
60px;
800px;
400px;
overflow:
hidden;
onmousemove="
mouseMove(event)"
465px;
padding-top:
blacksolid1px;
line-height:
*游戏规则:
移动鼠标吃方块,你只能吃跟你同样大小或比你小的方块,当你的生长值到达500时,你自己的方块会变大一级,<
br>
当生命值变成0时,GameOver!
游戏中的红色小方块就是给你补生命值的。
/body>
/html>