⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 russia.txt

📁 俄罗斯方块编程游戏,是基于JAVASCRIPT的特效
💻 TXT
📖 第 1 页 / 共 2 页
字号:

		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 + -