jQuery写个贪吃蛇
都说码农都该有自己的博客,我也整个,这是第一次发。
自学JS/JQ半年多,半年前要是听说谁会用JS/JQ做个贪吃蛇我都会觉得他是大神,现在觉得,也就那样了。
最近没项目做,正好想到贪吃蛇我现在应该能做出来了。
说干就干,先不看别人的代码,自己搞,半天的时间搞定了。
偷个懒用JQ写的,也不知道有没有啥问题。
<htmlxmlns="http://www.w3.org/1999/xhtml"><head><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/><title>无标题文档</title><scripttype="text/javascript"src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js"></script><scripttype="text/javascript">$(document).ready(function(){varhgn=15;//横格数varsgn=10;//竖格数varsc=3;//初始蛇长varsind=newArray;//蛇索引varsd=200;//速度varfxcur=null;varinv;vardan_ind;//胆索引varstop_onf=true;//暂停$(".body").css({width:50*hgn+"px"});$(".msg").css({width:$(".body").css("width")});for(vari=0;i<hgn;i++){for(varj=0;j<sgn;j++){$(".bodyul").append("<li></li>");}}for(vari=0;i<sc;i++){sind[i]=i;}dan();she();move();//绘蛇functionshe(){$("ulli").removeClass("she");for(vari=0;i<sc;i++){$("ulli:eq("+sind[i]+")").addClass("she");}}//移动functionmove(){if(inv){window.clearInterval(inv);}inv=window.setInterval(function(){goway(fxcur);},sd);}//移动开关functionstopmove(){if(stop_onf){if(inv){window.clearInterval(inv);}$(".msg").animate({top:(parseInt($(".body").css("height"))/2-50)+"px"}).html("STOP");}else{$(".msg").html("GO").animate({top:"-50px"});move();}stop_onf=!stop_onf;}//结束functiongameover(){if(inv){window.clearInterval(inv);}$(".msg").animate({top:(parseInt($(".body").css("height"))/2-50)+"px"}).html("GAMEOVER");}//判断撞到自己functionzsf(){for(vari=0;i<sc-1;i++){if(sind[sc-1]==sind[i]){gameover();returntrue;}}returnfalse;}//移动功能functiongoway(fx){for(vari=0;i<sc-1;i++){if(sind[sc-1]==sind[i]){gameover();return;}}if(fx=="you"){if(sind[sc-1]+1==dan_ind){//吃胆scsc=sc+1;sind[sc-1]=dan_ind;dan();she();return;}elseif((sind[sc-1]+1)%hgn==0){//撞墙gameover();return;}for(vari=0;i<sc;i++){if(i==sc-1){sind[i]=sind[i]+1;she();return;}sind[i]=sind[i+1];}}elseif(fx=="xia"){if(sind[sc-1]+hgn==dan_ind){//吃胆scsc=sc+1;sind[sc-1]=dan_ind;dan();she();return;}elseif(sind[sc-1]>hgn*sgn-hgn){//撞墙gameover();return;}for(vari=0;i<sc;i++){if(i==sc-1){sind[i]=sind[i]+hgn;she();return;}sind[i]=sind[i+1];}}elseif(fx=="zuo"){if(sind[sc-1]-1==dan_ind){//吃胆scsc=sc+1;sind[sc-1]=dan_ind;dan();she();return;}elseif((sind[sc-1])%hgn==0){//撞墙gameover();return;}for(vari=0;i<sc;i++){if(i==sc-1){sind[i]=sind[i]-1;she();return;}sind[i]=sind[i+1];}}elseif(fx=="shang"){if(sind[sc-1]-hgn==dan_ind){//吃胆scsc=sc+1;sind[sc-1]=dan_ind;dan();she();return;}elseif(sind[sc-1]<hgn){//撞墙gameover();return;}for(vari=0;i<sc;i++){if(i==sc-1){sind[i]=sind[i]-hgn;she();return;}sind[i]=sind[i+1];}}else{return;}}//判断是否吃到胆functionisdan(num){if(num==dan_ind){scsc=sc+1;sind[sc-1]=num;dan();}}//按键$(document).keydown(function(event){vardown_num=event.which;varfx=null;if(down_num==37){//左fx="zuo";}elseif(down_num==38){//上fx="shang";}elseif(down_num==40){//下fx="xia";}elseif(down_num==39){//右fx="you";}elseif(down_num==32){stopmove();}//需判断能否点击if(fxcur=="shang"&&fx=="xia"||fxcur=="xia"&&fx=="shang"||fxcur=="zuo"&&fx=="you"||fxcur=="you"&&fx=="zuo"){return;}else{fxfxcur=fx;}});//绘胆functiondan(){//需判断生成胆是否在蛇索引上dan_ind=parseInt(hgn*sgn*Math.random()-1);for(vari=0;i<sc;i++){if(dan_ind==sind[i]){dan();return;}}$("ulli").removeClass("dan");$("ulli:eq("+dan_ind+")").addClass("dan");}})</script><style>/*整体设置*/a:active{outline:none;star:expression(thisthis.onFocus=this.blur());}html{overflow-y:scroll;}*{margin:0;padding:0;list-style:none;outline:none;word-wrap:break-word;}img{border:none}h2,h3,h4,h5,h6,h7,body,small{font-size:12px;font-weight:400;font-family:Arial,"宋体";}table{table-layout:fixed;border-collapse:collapse}a{text-decoration:none;}body{background:#fff;}.body{overflow:hidden;border:1pxsolid#666;position:absolute;left:250px;top:0;}li{width:48px;height:48px;overflow:hidden;float:left;border:1pxsolid#666;background:#6C9;}li.she{background:#069;}li.dan{background:#0CF;}.tel{font-size:24px;}.msg{overflow:hidden;font-size:24px;color:#333;text-align:center;position:absolute;left:250px;top:0;}</style></head><body><divclass="tel">方向键控制方向<br/>空格键暂停</div><divclass="body"><ul></ul></div><divclass="msg"></div></body></html>
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。