首页 >> 民生救助

js写的俄罗斯方块节能

民生救助  2020-11-05 12:37 字号: 大 中 小

<HTML>

<HEAD>

<title>俄罗斯方块</title>

<style>

<!--

BODY

{

}

.MB

{

BACKGROUND-COLOR: firebrick;

CURSOR: default;

HEIGHT: 22px;

WIDTH: 22px

}

.SB

{

BACKGROUND-COLOR: slategray;

CURSOR: default;

HEIGHT: 22px;

WIDTH: 22px

}

.BK

{

BACKGROUND-COLOR: white;

CURSOR: default;

HEIGHT: 22px;

WIDTH: 22px

}

.GT

{

BORDER-BOTTOM: deepskyblue thin solid;

BORDER-LEFT: deepskyblue thin solid;

BORDER-RIGHT: deepskyblue thin solid;

BORDER-TOP: deepskyblue thin solid;

CURSOR: default

}

-->

</style>

<script>

<!--

var BX=new Array(4);

var BY=new Array(4);

var PX=new Array(4);

var PY=new Array(4);

var mTimer

var firstView

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;

sabled=true;

earInterval(mTimer);

mTimer=tInterval("moveBar()",outTime);

}

function keyControl()

{

if(gameState!=1)return;

switch(yCode){

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=und((BX[0]+BX[1]+BX[2]+BX[3])/4);

var cy=und((BY[0]+BY[1]+BY[2]+BY[3])/4);

for(i=0;i<4;i++){

preMBarX[i]=und(cx-cy+BY[i]);

preMBarY[i]=und(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;

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=oor(score/3000)+1;

outTime=1100-speed*100;

nerHTML="Score : " + score;

nerHTML="Speed : " + speed;

earInterval(mTimer);

mTimer=tInterval("moveBar()",outTime);

}

function getClass(x,y){return ildren[y].children[x].className;}

function setClass(x,y,cName){ildren[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){

earInterval(mTimer);

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(lue=="Pause"){

gameState=2;

lue="Continue";

earInterval(mTimer);

}

else{

gameState=1;

lue="Pause";

mTimer=tInterval("moveBar()",outTime);

}

}

function fMnu(){return false;}

contextmenu=fMnu;

function preview()

{

if(splay!="none")

splay="none";

else

splay="block";

}

function replayGame()

{

if(gameState!=1)return;

if(!confirm("你真的要重新开始么?"))return;

gameState=0;

earInterval(mTimer);

beginGame();

}

function randBar()

{

randNum=oor(ndom()*20)+1;

if(!firstView)

for(i=0;i<4;i++){

BX[i]=PX[i];

BY[i]=PY[i];

}

switch(randNum){

case 1:{

PX[0]=4;

PY[0]=0;

PX[1]=4;

PY[1]=1;

PX[2]=5;

PY[2]=1;

PX[3]=6;

PY[3]=1;

break;}

case 2:{

PX[0]=4;

PY[0]=0;

PX[1]=5;

PY[1]=0;

PX[2]=4;

PY[2]=1;

PX[3]=4;

PY[3]=2;

break;}

case 3:{

PX[0]=4;

PY[0]=0;

PX[1]=5;

PY[1]=0;

PX[2]=6;

PY[2]=0;

PX[3]=6;

PY[3]=1;

break;}

case 4:{

PX[0]=5;

PY[0]=0;

PX[1]=5;

PY[1]=1;

PX[2]=5;

PY[2]=2;

PX[3]=4;

PY[3]=2;

break;}

case 5:{

PX[0]=6;

PY[0]=0;

PX[1]=6;

PY[1]=1;

PX[2]=4;

PY[2]=1;

PX[3]=5;

PY[3]=1;

break;}

case 6:{

PX[0]=4;

PY[0]=0;

PX[1]=4;

PY[1]=1;

PX[2]=4;

PY[2]=2;

PX[3]=5;

PY[3]=2;

break;}

case 7:{

PX[0]=4;

PY[0]=0;

PX[1]=4;

PY[1]=1;

PX[2]=5;

PY[2]=0;

PX[3]=6;

PY[3]=0;

break;}

case 8:{

PX[0]=4;

PY[0]=0;

PX[1]=5;

PY[1]=0;

PX[2]=5;

PY[2]=1;

PX[3]=5;

PY[3]=2;

break;}

case 9:{

PX[0]=4;

PY[0]=0;

PX[1]=5;

PY[1]=0;

PX[2]=5;

PY[2]=1;

PX[3]=6;

PY[3]=1;

break;}

case 10:{

PX[0]=5;

PY[0]=0;

PX[1]=5;

PY[1]=1;

PX[2]=4;

PY[2]=1;

PX[3]=4;

PY[3]=2;

break;}

case 11:{

PX[0]=4;

PY[0]=1;

PX[1]=5;

PY[1]=1;

PX[2]=5;

PY[2]=0;

PX[3]=6;

PY[3]=0;

break;}

case 12:{

PX[0]=4;

PY[0]=0;

PX[1]=4;

PY[1]=1;

PX[2]=5;

PY[2]=1;

PX[3]=5;

PY[3]=2;

break;}

case 13:{

PX[0]=4;

PY[0]=0;

PX[1]=5;

PY[1]=0;

PX[2]=6;

PY[2]=0;

PX[3]=5;

PY[3]=1;

break;}

case 14:{

PX[0]=4;

PY[0]=0;

PX[1]=4;

PY[1]=1;

PX[2]=4;

PY[2]=2;

PX[3]=5;

PY[3]=1;

break;}

case 15:{

PX[0]=5;

PY[0]=0;

PX[1]=5;

PY[1]=1;

PX[2]=4;

PY[2]=1;

PX[3]=6;

PY[3]=1;

break;}

case 16:{

PX[0]=5;

PY[0]=0;

PX[1]=5;

PY[1]=1;

PX[2]=5;

PY[2]=2;

PX[3]=4;

PY[3]=1;

break;}

case 17:{

PX[0]=4;

PY[0]=0;

PX[1]=5;

PY[1]=0;

PX[2]=4;

PY[2]=1;

PX[3]=5;

PY[3]=1;

break;}

case 18:{

PX[0]=4江流石不转;

PY[0]=0;

PX[1]=5;

PY[1]=0;

PX[2]=4;

PY[2]=1;

PX[3]=5;

PY[3]=1;

break;}

case 19:{

PX[0]=3;

PY[0]=0;

PX[1]=4;

PY[1]=0;

PX[2]=5;

PY[2]=0;

PX[3]=6;

PY[3]=0;

break;}

case 20:{

PX[0]=5;

PY[0]=0;

PX[1]=5;

PY[1]=1;

PX[2]=5;

PY[2]=2;

PX[3]=5;

PY[3]=3;

break;}

}

if(firstView){

firstView=false;

randBar();

return;

}

for(i=0;i<4;i++){

for(j=0;j<4;j++){

ildren[j].children[i].className="BK";

}

}

for(i=0;i<4;i++)ildren[PY[i]].children[PX[i]-3].className="MB";

for(i=0;i<4;i++){

if(getClass(BX[i],BY[i])!="BK"){

alert("Game Over!");

earInterval(mTimer);

sabled=false;

gameState=0;

return;

}

}

for(i=0;i<4;i++)setClass(BX[i],BY[i],"MB");

}

// -->

</script>

</HEAD>

<BODY bgcolor=Black onkeydown="return keyControl();">

<center>

<P><b><font color=red>俄罗斯方块</font></b></P>

<table cellspacing=0 cellpadding=0 class=gt border=1 bordercolor="LightYellow " style="position:absolute;left:220px;top:53px;">

<Tbody id=GameBar>

<tr><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td></tr><tr><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td></tr><tr><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td></tr><tr><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td></tr><tr><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td></tr><tr><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td></tr><tr><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td></tr><tr><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td></tr><tr><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td></tr><tr><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td></tr><tr><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td></tr><tr><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td></tr><tr><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td></tr><tr><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td></tr><tr><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td></tr><tr><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td></tr>

</tbody>

</table>

</center>

<table style="position:absolute;top=100px;left:50px">

<tr><td id=scoreBar style="color:white">Score : 0</td></tr>

<tr><td id=speedBar style="color:white">Speed : 1</td></tr>

</table>

<table cellspacing=0 cellpadding=0 class=gt border=1 bordercolor="LightYellow " style="position:absolute;left:570px;top:53px;">

<Tbody id=previewBar>

<tr><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td></tr><tr><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td></tr><tr><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td></tr><tr><td class=BK></td><td class=BK></td><td class=BK></td><td class=BK></td></tr>

</tbody>

</table>

<table style="position:absolute;left:570px;top:180px;">

<tr><td><input type=button id="Play" style="width:100px" value="Play" onclick="return beginGame();"></td></tr>

<tr><td><input type=button id="Pause" style="width:100px" value="Pause" onclick="return pauseGame();"></td></tr>

<tr><td><input type=button id="Preview" style="width:100px" value="Preview" onclick="preview();"></td></tr>

<tr><td><input type=button id="Replay" style="width:100px" value="Replay" onclick="replayGame();"></td></tr>

<tr><td><input type=button id="Quit" style="width:100px" value="Quit" onclick="ose();"></td></tr>

</table>

<div style="position:absolute;left:590px;top:390px;color:white;font-size:9pt">如有问题请与我<a href="mailto:sor@"><font color=white>联系</font></a></div>

</BODY>

</HTML>

<script>

function unSel()

{

ecCommand("Unselect");

tTimeout("unSel()",10);

}

unSel();

unload=rel;

function rel()

{

load();

return false;

}

</script>

查看本文来源

辽源白癜风医院排名
珠海哪里治疗白癜风好
开锁换锁公司
推荐资讯