原生javascript制作贪吃蛇小游戏的方法分析
本文实例讲述了原生javascript制作贪吃蛇小游戏的方法。分享给大家供大家参考,具体如下:
HTML部分
游戏玩法:上下左右控制小蛇的方向。 撞到边缘游戏结束。 长按方向键即可加速。
js开始
function$(id){ returndocument.getElementById(id); } window.onload=function(){ //创建背景 js_background(); //随机食物 js_food(); //创建贪吃蛇 create_snake(); document.onkeydown=function(event){ letevt=event||window.event; switch(evt.keyCode){ case37:direction="left";break; case38:direction="up";break; case39:direction="right";break; case40:direction="down";break; default:; //console.log(evt.keyCode); } start_snake() } }
//贪吃蛇方向//创建背景
//贪吃蛇方向//创建背景 vardirection="right"; //创建背景 functionjs_background(){ letbg=document.createElement("div"); bg.id="js_bg"; bg.style.cssText="position:relative;margin:50pxauto;background:skyblue;width:800px;height:600px;"; document.body.appendChild(bg); }
//随机食物
varfood_left=0; varfood_top=0; functionjs_food(){ food_left=parseInt(Math.random()*800/20)*20; food_top=parseInt(Math.random()*600/20)*20; letfoodDiv=document.createElement("div"); foodDiv.style.cssText="position:absolute;width:20px;height:20px;border-radius:50%;background:yellow;"; foodDiv.style.left=food_left+"px"; foodDiv.style.top=food_top+"px"; foodDiv.id="foodDiv"; $("js_bg").appendChild(foodDiv); }
//创建贪吃蛇
functioncreate_snake(){ letlis=document.getElementsByTagName("li"); lis[0].style.backgroundColor="black"; lis[0].style.zIndex=1; for(leti=0;i//定时器
//定时器 lettimre=setInterval(start_snake,200); letlis=document.getElementsByTagName("li"); functionstart_snake(){ letleft=parseFloat(lis[0].style.left); lettop=parseFloat(lis[0].style.top); //console.log(top) switch(direction){ case"left":left=(left-20);break; case"up":top=(top-20);break; case"right":left=(left+20);break; case"down":top=(top+20);break; default:; } if(left<0||left>800-20||top<0||top>600-20){ window.clearInterval(timre); alert("亲,您GameOver"); return; } //for(leti=1;i<=lis.length-1;i++){ //lis[i].style.left=lis[i-1].style.left; //lis[i].style.top=lis[i-1].style.top; //} for(vari=lis.length-1;i>0;i--){ lis[i].style.left=lis[i-1].style.left; lis[i].style.top=lis[i-1].style.top; } //改变第一节 lis[0].style.left=left+"px"; lis[0].style.top=top+"px"; //console.log(food_top+"----------"); //console.log(top); if(left==food_left&&top==food_top){ eat(); } } functioneat(){ $("js_bg").removeChild($("foodDiv")); js_food(); //alert("ll"); letli=document.createElement("li"); $("js_bg").appendChild(li); //create_snake(); }更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript数学运算用法总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript数组操作技巧总结》、《JavaScript时间与日期操作技巧总结》及《JavaScript错误与调试技巧总结》
希望本文所述对大家JavaScript程序设计有所帮助。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。