您的位置:主页 > 网络编程 > JavaScript > |
<HTML> www.jc567.cn function beginGame() { gameState=0; speed=1; outTime=1100-speed*100; score=0; if(gameState!=0)return; firstView=true; for(j=0;j<16;j ) for(i=0;i<10;i ) setClass(i,j,"BK"); randBar(); gameState=1; Play.disabled=true; window.clearInterval(mTimer); mTimer=window.setInterval("moveBar()",outTime); } function keyControl() { if(gameState!=1)return; switch(event.keyCode){ case 37:{ //left for(i=0;i<4;i )if(BX[i]==0)return; for(i=0;i<4;i )if(getClass(BX[i]-1,BY[i])=="SB")return; for(i=0;i<4;i )setClass(BX[i],BY[i],"BK"); for(i=0;i<4;i )BX[i]=BX[i]-1; for(i=0;i<4;i )setClass(BX[i],BY[i],"MB"); break;} case 38:{ //up var preMBarX=new Array(4); var preMBarY=new Array(4); var cx=Math.round((BX[0] BX[1] BX[2] BX[3])/4); var cy=Math.round((BY[0] BY[1] BY[2] BY[3])/4); for(i=0;i<4;i ){ 007网络教程网 preMBarX[i]=Math.round(cx-cy BY[i]); preMBarY[i]=Math.round(cx cy-BX[i]); if(preMBarX[i]<0 ¦¦ preMBarX[i]>9 ¦¦ preMBarY[i]<0 ¦¦ preMBarY[i]>15)return; if(getClass(preMBarX[i],preMBarY[i])=="SB")return; } for(i=0;i<4;i )setClass(BX[i],BY[i],"BK"); for(i=0;i<4;i ){ BX[i]=preMBarX[i]; BY[i]=preMBarY[i]; } for(i=0;i<4;i )setClass(BX[i],BY[i],"MB"); break;} case 39:{ //right for(i=0;i<4;i )if(BX[i]==9)return; for(i=0;i<4;i )if(getClass(BX[i] 1,BY[i])=="SB")return; for(i=0;i<4;i )setClass(BX[i],BY[i],"BK"); for(i=0;i<4;i )BX[i]=BX[i] 1; for(i=0;i<4;i )setClass(BX[i],BY[i],"MB"); break;} case 40:{ //down moveBar(); break;} } } function delLine() { for(i=0;i<4;i )setClass(BX[i],BY[i],"SB"); for(j=0;j<16;j ){ dLine=true; jc567.cn for(i=0;i<9;i ){ if(getClass(i,j)!="SB"){ dLine=false; break; } } if(dLine){ score=score 100; for(k=j;k>0;k--) for(l=0;l<10;l ) setClass(l,k,getClass(l,k-1)); for(l=0;l<10;l )setClass(l,0,"BK"); } } randBar(); speed=Math.floor(score/3000) 1; outTime=1100-speed*100; scoreBar.innerHTML="Score : " score; speedBar.innerHTML="Speed : " speed; window.clearInterval(mTimer); mTimer=window.setInterval("moveBar()",outTime); } function getClass(x,y){return GameBar.children[y].children[x].className;} function setClass(x,y,cName){GameBar.children[y].children[x].className=cName;} function moveBar() { if(gameState!=1)return; dropLine=true; for(i=0;i<4;i )if(BY[i]==15)dropLine=false; if(dropLine)for(i=0;i<4;i )if(getClass(BX[i],BY[i] 1)=="SB")dropLine=false; if(!dropLine){ window.clearInterval(mTimer); jc567.cn delLine(); return; } for(i=0;i<4;i )setClass(BX[i],BY[i],"BK"); for(i=0;i<4;i )BY[i]=BY[i] 1; for(i=0;i<4;i )setClass(BX[i],BY[i],"MB"); } function pauseGame() { if(gameState==0)return; if(event.srcElement.value=="Pause"){ gameState=2; event.srcElement.value="Continue"; window.clearInterval(mTimer); } else{ gameState=1; event.srcElement.value="Pause"; mTimer=window.setInterval("moveBar()",outTime); } } function fMnu(){return false;} document.oncontextmenu=fMnu; Tags:js,俄罗斯方块
上一篇:J2ME中使用Socket开发联网程序 下一篇:AJAX编程实践之与服务器通信
您的评论·用户发表意见仅代表其个人意见,并且承担一切因发表内容引起的纠纷和责任
·本站管理人员有权在不通知用户的情况下删除不符合规定的评论信息或留做证据 ·请客观的评价您所看到的资讯,提倡就事论事,杜绝漫骂和人身攻击等不文明行为 |