<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;
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++){
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;}