📄 russia.txt
字号:
for(obj_h=0,h=l_y;h<=r_y;h++,obj_h++)
{
for(obj_w=0,w=l_x;w<=r_x;w++,obj_w++)
{
obj_value = eval("tester.value_"+obj_h+"_"+obj_w);
map_value = map_table.rows(h).cells(w).value
checker = parseInt(obj_value) + parseInt(map_value);
if(map_value=="2")
{
if(checker>2)
return false;
}
else
{
if(checker>1)
return false;
}
}
}
return true;
}
//--------------设置背景颜色----------------------//
function set_map_bgcolor(l_x,l_y,r_x,r_y)
{
var obj_value = "";
for(obj_h=0,h=l_y;h<=r_y;h++,obj_h++)
{
for(obj_w=0,w=l_x;w<=r_x;w++,obj_w++)
{
obj_value = obj_table.rows(obj_h).cells(obj_w).value;
if(obj_value=="1")
{
with(map_table.rows(h).cells(w))
{
value = obj_value;
bgColor = eval("block_color_"+obj_value);
}
}
}
}
}
//---------------消除 行 --------------------------------//
function delete_line(l_y,r_y)
{
var value_1_num = 0; //为 1 的块数
var can_delete_num = map[0].length; //可以删除的 value = 1 的 block 的总数
var can_delete = true;
var the_block_value = ""; //现在的block的value
for(h=l_y;h<=r_y;h++)
{
for(w=0;w<can_delete_num;w++)
{
the_block_value = map_table.rows(h).cells(w).value
if(the_block_value=="0"||the_block_value=="2")
{
can_delete = false;
}
}
if(can_delete) //如果全部为1的话
{
map_table.deleteRow(h);
map_table.insertRow(0);
for(w=0;w<map[0].length;w++)
{
map_table.rows(0).insertCell();
map_table.rows(0).cells(w).value = map[0].charAt(w);
map_table.rows(0).cells(w).bgColor = eval("map_color_"+map[0].charAt(w));
}
game_line.innerText = ""+ (parseInt(game_line.innerText) + 1) + "";
game_score.innerText = ""+ (parseInt(game_score.innerText) + line_score) + "";
}
can_delete = true;
}
}
//--------------方块 移动 主进程 down ----------------//
function down_block()
{
if(!can_play)
return;
var check_l_y = left_up_angle.y + 1;
var check_r_y = right_down_angle.y + 1;
var judger = If_can_move(left_up_angle.x,check_l_y,right_down_angle.x,check_r_y);
if(judger)
{
move_block_by(0,1);
setTimeout("down_block()",game_speed)
}
else
{
can_move_block = false;
var block_top = return_TOP();
if(block_top<=(game_l_u_angle.y+2))
{
if(confirm("游戏结束,是否继续?"))
{
window.location.reload();
}
else
{
return;
}
}
else
{
set_map_bgcolor(left_up_angle.x,left_up_angle.y,right_down_angle.x,right_down_angle.y) //设置背景颜色和value
game_score.innerText = ""+ (parseInt(game_score.innerText) + block_score) + "";
if(parseInt(game_score.innerText)>=(parseInt(game_number.innerText)*20000)) //如果达到过局的分数
{
game_number.innerText = ""+(parseInt(game_number.innerText)+1)+"";
game_speed = game_speed - 60;
if(game_speed <=0 )
{
game_speed = 540 - (parseInt(game_number.innerText)-1)*60;
if(game_speed < 0)
{
alert("Win All");
return;
}
}
game_max_speed = Math.floor(game_speed/20);
}
obj_stage.style.display = "none";
delete_line(left_up_angle.y,right_down_angle.y);
shape_now = shape_will;
shape_will = SHAPES[returnONE(6)];
shape_num =1;
set_block(obj_table,shape_now,shape_num);
set_block(element_table,shape_will,shape_num);
left_up_angle.x = game_l_u_angle.x;
left_up_angle.y = game_l_u_angle.y;
right_down_angle.x = game_r_d_angle.x;
right_down_angle.y = game_r_d_angle.y;
obj_stage.style.pixelLeft = left_up_angle.x * block_width;
obj_stage.style.pixelTop = left_up_angle.y * block_height;
obj_stage.style.display = "block";
can_move_block = true;
setTimeout("down_block()",game_speed);
}
}
}
//-------------- 获取 用户输入 方向 -------------- //
function document.onkeydown()
{
if(!can_play) //如果不能玩,退出
return;
if(!can_move_block) //如果不能移动。则退出
return;
var key_code = event.keyCode;
if(key_code == 37)
{
var check_l_x = left_up_angle.x - 1;
var check_r_x = right_down_angle.x - 1;
var judger= If_can_move(check_l_x,left_up_angle.y,check_r_x,right_down_angle.y);
if(judger)
move_block_by(-1,0);
else
return;
}
if(key_code == 39)
{
var check_l_x = left_up_angle.x + 1;
var check_r_x = right_down_angle.x + 1;
var judger= If_can_move(check_l_x,left_up_angle.y,check_r_x,right_down_angle.y);
if(judger)
move_block_by(1,0);
else
return;
}
if(key_code == 38)
{
shape_num++;
if(shape_num>4)
shape_num = 1;
tester = null
tester = new test_block();
var test_shape = eval(shape_now + shape_num);
for(h=0;h<test_shape.length;h++)
{
for(w=0;w<test_shape[0].length;w++)
{
eval("tester.value_"+h+"_"+w+"=test_shape["+h+"].charAt("+w+")");
}
}
var judger = If_can_move_test(left_up_angle.x,left_up_angle.y,right_down_angle.x,right_down_angle.y)
if(!judger)
{
shape_num--;
}
else
{
set_block(obj_table,shape_now,shape_num);
}
}
if(key_code == 40)
{
game_speed = game_max_speed;
}
}
function document.onkeyup()
{
game_speed = 540 - (parseInt(game_number.innerText)-1)*60;
}
//-----------------游戏控制-----------------------////
function start_game(){ //游戏开始
can_play = true;
can_move_block =true;
set_block(obj_table,shape_now,shape_num);
set_block(element_table,shape_will,shape_num);
down_block();
}
function pause_game() //暂停 游戏
{
can_play = false;
can_move_block =false;
}
function If_play(play_value)
{
if(play_value=="0") //如果是刚开始
{
start_game();
event.srcElement.value = "1";
event.srcElement.innerText = "暂 停"
}
if(play_value=="1")
{
pause_game();
event.srcElement.value = "2";
event.srcElement.innerText = "开 始"
}
if(play_value == "2")
{
can_play = true;
can_move_block =true;
down_block();
event.srcElement.value = "1";
event.srcElement.innerText = "暂 停";
}
}
</script>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -