📄 javascript版的俄罗斯方块.htm
字号:
{
<br>
var i,j,k,m;
<br>
box_x=0;box_y=5;
<br>
new_current_type=Math.floor(Math.random()*7);
<br>
new_current_order=Math.floor(Math.random()*box_num[new_current_type]);
<br>
for(k=0;k<2;k++)
<br>
for(m=0;m<4;m++)
<br>
{
<br>
new_box[k][m]=assorted_box[new_current_type][k][new_current_order][m];
<br>
}
<br>
}
<br>
<br>
function end()
<br>
{ var i,j;
<br>
stop=1;
<br>
if(high_score<score)
<br>
high_score=score;
<br>
my_high_score.innerHTML="最高分:"+high_score;
<br>
document.game_set.start_button.disabled=false;
<br>
document.game_set.pause_button.disabled=true;
<br>
document.game_set.pause_button.value="暂停";
<br>
alert(" GAME OVER!GAME SCORE:"+score);
<br>
line=0;
<br>
clear_line(1);
<br>
for(i=0;i<M;i++)
<br>
for(j=0;j<N;j++)
<br>
arraybox[i][j]=0;
<br>
speed=arrayspeed[document.game_set.game_speed.options[document.game_set.game_speed.selectedIndex].value];
<br>
game_class=document.game_set.game_class.options[document.game_set.game_class.selectedIndex].value;
<br>
set_game_class();
<br>
stop=0;
<br>
score=0;
<br>
begin_go();
<br>
}
<br>
function ready_go(need_update)
<br>
{
<br>
box_x=0;box_y=5;
<br>
for(k=0;k<2;k++)
<br>
for(m=0;m<4;m++)
<br>
box[k][m]=new_box[k][m];
<br>
for(m=0;m<4;m++)
<br>
{if(arraybox[box[0][m]+box_x][box[1][m]+box_y]==1)
<br>
{end();return;}
<br>
}
<br>
current_type=new_current_type;
<br>
current_order=new_current_order;
<br>
new_current_type=Math.floor(Math.random()*7);
<br>
new_current_order=Math.floor(Math.random()*box_num[new_current_type]);
<br>
for(k=0;k<2;k++)
<br>
for(m=0;m<4;m++)
<br>
new_box[k][m]=assorted_box[new_current_type][k][new_current_order][m];
<br>
show_box(1);
<br>
if(need_update) update();
<br>
set_down();
<br>
}
<br>
<br>
function clear_box()
<br>
{
<br>
var i,j;
<br>
for(j=0;j<4;j++)
<br>
{
<br>
eval("document.box.img"+(box[0][j]+box_x)+"_"+(box[1][j]+box_y)+".src=box2.src");
<br>
}
<br>
}
<br>
function change_box()
<br>
{
<br>
var i,j,x,y;
<br>
for(i=0;i<4;i++)
<br>
{x=assorted_box[current_type][0][(current_order+1)%box_num[current_type]][i];
<br>
y=assorted_box[current_type][1][(current_order+1)%box_num[current_type]][i];
<br>
if((x+box_x)<0||(x+box_x)>=M||(y+box_y)<0||(y+box_y)>=N)
<br>
return false;
<br>
if(arraybox[box_x+x][box_y+y]==1)
<br>
return false;
<br>
}
<br>
<br>
clear_box();
<br>
current_order++;
<br>
for(i=0;i<2;i++)
<br>
for(j=0;j<4;j++)
<br>
{
<br>
box[i][j]=assorted_box[current_type][i][(current_order)%box_num[current_type]][j];
<br>
}
<br>
show_box(0);
<br>
}
<br>
<br>
function left_box()
<br>
{
<br>
<br>
var i;
<br>
clear_box();
<br>
box_y-=1;
<br>
show_box(0);
<br>
}
<br>
<br>
function right_box()
<br>
{
<br>
var i;
<br>
clear_box();
<br>
box_y+=1;
<br>
show_box(0);
<br>
}
<br>
function down_box()
<br>
{
<br>
var i;
<br>
clear_box();
<br>
box_x+=1;
<br>
show_box(0);
<br>
}
<br>
function set_down()
<br>
{
<br>
if (stop) return;
<br>
score+=1;
<br>
show_score();
<br>
if(valid_move('down'))
<br>
{
<br>
down_box();
<br>
window.setTimeout("set_down()",speed);
<br>
}
<br>
else
<br>
{bomb();
<br>
ready_go(0);}
<br>
}
<br>
function bomb()
<br>
{
<br>
var i,j,k,all,if_update=0;
<br>
var m,n=0;
<br>
m=new Array(0,0,0,0);
<br>
for(i=0;i<M;i++)
<br>
{all=1;
<br>
for(j=0;j<N;j++)
<br>
all*=arraybox[i][j];
<br>
if (all==1)
<br>
{
<br>
for(j=0;j<N;j++)
<br>
{
<br>
eval("document.box.img"+i+"_"+j+".src=box0.src");
<br>
}
<br>
for(k=i;k>0;k--)
<br>
for(j=0;j<N;j++)
<br>
{
<br>
arraybox[k][j]=arraybox[k-1][j];
<br>
}
<br>
m[n++]=i;
<br>
if_update=1;
<br>
}
<br>
}
<br>
if((m[3]-m[0])==3)
<br>
score+=1500;
<br>
else
<br>
{if(((m[3]-m[1])==2)||((m[2]-m[0])==2))
<br>
score+=700;
<br>
else
<br>
if(((m[3]-m[2])==1)||((m[2]-m[1])==1)||((m[1]-m[0])==1))
<br>
{score+=300;
<br>
if((m[3]*m[2]*m[0]!=0)||(m[3]*m[1]*m[0]!=0))
<br>
score+=100;
<br>
}
<br>
else
<br>
if((m[3]+m[2]+m[1]+m[0])!=0)
<br>
score+=100;
<br>
}
<br>
if(if_update)
<br>
{
<br>
update();
<br>
}
<br>
}
<br>
function documentmousedown()
<br>
{
<br>
if(event.button==2)
<br>
alert("本系统只支持鼠标左键");
<br>
}
<br>
function documentload()
<br>
{
<br>
if(document.readyState=='complete')
<br>
{
<br>
pro.style.visibility="hidden";
<br>
state.innerHTML="小猪,我把格子放大了。你玩吧";
<br>
help.innerHTML="帮助:等文件下载完后,按开始,然后用左右和向下键就可以操纵了,空格或回车是变形。快捷键:s:开始;p:暂停(继续); r:重新开始;q:关闭窗口"+"<br>"+"Copyright by lint.EMAIL:lintg@sina.com. 2000.5 ";
<br>
document.game_set.start_button.disabled=false;
<br>
}
<br>
<br>
}
<br>
function load()
<br>
{
<br>
if(progress<130&&document.readyState!='complete')
<br>
{progress++;
<br>
pro.style.width=(progress*4)+"px";
<br>
window.setTimeout("load()",15);
<br>
}
<br>
<br>
}
<br>
function set_game_class()
<br>
{
<br>
var i;
<br>
for(i=0;i<M;i++)
<br>
for(j=0;j<N;j++)
<br>
arraybox[i][j]=0;
<br>
for(i=M-1;i>M-1-game_class;i--)
<br>
{for(j=0;j<N-3;j++)
<br>
arraybox[i][Math.floor(Math.random()*N)]=1;
<br>
}
<br>
}
<br>
document.onreadystatechange=documentload;
<br>
document.onkeydown=documentkeydown;
<br>
document.onmousedown=documentmousedown;
<br>
</Script>
<br>
</head>
<br>
<br>
<body bgcolor="#FFFFFF">
<br>
<br>
<div id="Layer1" style="position:absolute; left:171px; top:55px; width:229px; height:297px; z-index:1; background-color: #FFFFFF; layer-background-color: #FFFFFF; border: 1px none #000000">
<br>
<form name="box">
<br>
<Script language="javascript">
<br>
var i,j;
<br>
for(i=0;i<M;i++)
<br>
{for(j=0;j<N;j++)
<br>
document.write("<img name='img"+i+"_"+j+"' src='images/box2.jpg' width=15 height=15>");
<br>
document.writeln("<br>");
<br>
}
<br>
</Script>
<br>
</form>
<br>
</div>
<br>
<div id="Layer2" style="position:absolute; left:19px; top:65px; width:121px; height:94px; z-index:2; background-color: #ffffff; layer-background-color: #00000; border: 1px none #000000">
<br>
<p>下一个:</p>
<br>
<form name="new_box">
<br>
<Script language="javascript">
<br>
var i,j;
<br>
for(i=0;i<4;i++)
<br>
{for(j=0;j<4;j++)
<br>
document.write("<img name='new_img"+i+"_"+j+"' src='images/box3.jpg' width=15 height=15>");
<br>
document.writeln("<br>");
<br>
}
<br>
</Script>
<br>
</form>
<br>
</div>
<br>
<div id="my_score" style="position:absolute; left:409px; top:84px; width:121px; height:24px; z-index:3; background-color: #F4FFFB; layer-background-color: #F4FFFB; border: 1px none #000000">
<br>
分数:0 </div>
<br>
<div id="my_high_score" style="position:absolute; left:407px; top:55px; width:122px; height:25px; z-index:4; background-color: #E6FEFF; layer-background-color: #E6FEFF; border: 1px none #000000">最高分:0</div>
<br>
<div id="Layer4" style="position:absolute; left:408px; top:112px; width:123px; height:237px; z-index:5; background-color: #FFFBEC; layer-background-color: #FFFBEC; border: 1px none #000000">
<br>
<form name="game_set" >
<br>
<table width="75%" border="0" bordercolorlight="#CCCCFF" bordercolordark="#6666FF" bordercolor="#CCFFFF">
<br>
<tr>
<br>
<td>级别</td>
<br>
<td>
<br>
<select name="game_class">
<br>
<option value="0">0</option>
<br>
<option value="1">1</option>
<br>
<option value="2">2</option>
<br>
<option value="3">3</option>
<br>
<option value="4">4</option>
<br>
<option value="5">5</option>
<br>
<option value="6">6</option>
<br>
<option value="7">7</option>
<br>
<option value="8">8</option>
<br>
<option value="9">9</option>
<br>
</select>
<br>
</td>
<br>
</tr>
<br>
<tr>
<br>
<td>速度</td>
<br>
<td>
<br>
<select name="game_speed">
<br>
<option value="0" selected>0</option>
<br>
<option value="1">1</option>
<br>
<option value="2">2</option>
<br>
<option value="3">3</option>
<br>
<option value="4">4</option>
<br>
<option value="5">5</option>
<br>
<option value="6">6</option>
<br>
<option value="7">7</option>
<br>
<option value="8">8</option>
<br>
<option value="9">9</option>
<br>
</select>
<br>
</td>
<br>
</tr>
<br>
<tr>
<br>
<td>
<br>
<input type="button" onClick="start_game()" name="start_button" value="开始">
<br>
</td>
<br>
<td>
<br>
<input type="button" onclick="pause_game()" name="pause_button" value="暂停">
<br>
</td>
<br>
</tr>
<br>
<tr>
<br>
<td colspan="2">
<br>
<input type="button" onclick="end()" name="restart_button" value="重新开始">
<br>
</td>
<br>
</tr>
<br>
<tr>
<br>
<td colspan="2">
<br>
<input type="button" onClick="javascript:history.go(0)" name="Submit3" value="重置">
<br>
</td>
<br>
</tr>
<br>
<tr>
<br>
<td colspan="2">
<br>
<input type="button" onClick="javascript:parent.window.close()" name="Button" value="退出游戏">
<br>
</td>
<br>
</tr>
<br>
</table>
<br>
</form>
<br>
</div>
<br>
<div id="Layer3" style="position:absolute; left:3px; top:7px; width:152px; height:42px; z-index:6"></div>
<br>
<div id="Layer5" style="position:absolute; left:183px; top:10px; width:216px; height:34px; z-index:7">
<br>
<div align="center"><img src="images/els.jpg" width="150" height="26"></div>
<br>
</div>
<br>
<div id="state" style="position:absolute; left:16px; top:169px; width:135px; height:179px; z-index:8; background-color: #FEF4D8; layer-background-color: #FEF4D8; border: 1px none #000000">
<br>
<p>载入中,请稍侯!</p>
<br>
<p>&nbsp;</p>
<br>
</div>
<br>
<div id="help" style="position:absolute; left:16px; top:360px; width:537px; height:65px; z-index:9; background-color: #FFFFFF; layer-background-color: #FFFFFF; border: 1px none #000000">
<br>
</div>
<br>
<div id="pro" style="position:absolute; left:34px; top:394px; width:0px; height:25px; z-index:10; background-color: #003333; layer-background-color: #003333; border: 1px none #000000;visibility: visible"></div>
<br>
<Script language="javascript">
<br>
document.game_set.start_button.disabled=true;
<br>
document.game_set.pause_button.disabled=true;
<br>
document.game_set.restart_button.disabled=true;
<br>
load();
<br>
begin_go();
<br>
</Script>
<br>
</body>
<br>
</html>
<br>
</td>
</tr>
</table>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -