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

📄 俄罗斯方块.java

📁 自己用JAVA编写的第一个俄罗斯方块小游戏,因为界面是为老婆设计的,后来送给老婆玩把她感动坏了,所以直到现在还记忆犹新.
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
			break;
		case 20:
			xias[0][0]=0;	xias[0][1]=0;	xias[0][2]=1;	xias[0][3]=0;	xias[0][4]=0;	
			xias[1][0]=0;	xias[1][1]=0;	xias[1][2]=1;	xias[1][3]=0;	xias[1][4]=0;
			break;
		case 21:
			xias[0][0]=0;	xias[0][1]=0;	xias[0][2]=1;	xias[0][3]=0;	xias[0][4]=0;	
			xias[1][0]=0;	xias[1][1]=0;	xias[1][2]=0;	xias[1][3]=0;	xias[1][4]=0;
			break;
		}		
	}


	void	显示块(Graphics2D g2d)
	{
		for (int h=0;h<24 ;h++ )
		{
			for (int l=0;l<13 ;l++ )
			{
				if(luos[h][l]==1)
				{
					g2d.setColor(Color.GREEN);
					g2d.drawRect(272+l*18,23+h*18,18,18);
					g2d.setFont(new Font("隶书",1,15));
					g2d.setColor(Color.ORANGE);
					g2d.drawString("艳",274+l*18,38+h*18);
				}
			}
		}
	}
	void	显示下块(Graphics2D g2d)
	{
		for (int h=0;h<2 ;h++ )
		{
			for (int l=0;l<5 ;l++ )
			{
				if(xias[h][l]==1)
				{
					g2d.setColor(Color.GREEN);
					g2d.drawRect(543+l*18,240+h*18,18,18);
					g2d.setFont(new Font("隶书",1,15));
					g2d.setColor(Color.ORANGE);
					g2d.drawString("艳",545+l*18,255+h*18);
				}
			}
		}
	}

	void	落()
	{
		zhuanh++;
		for (int h=22;h>=0 ;h-- )
		{
			for (int l=0;l<13 ;l++ )
			{
				luos[h+1][l]=luos[h][l];
				luos[h][l]=0;
			}
		}
	}

	void	左移()
	{
		zhuanl--;
		for (int h=0;h<24 ;h++ )
		{
			for (int l=1;l<13 ;l++ )
			{
				luos[h][l-1]=luos[h][l];
				luos[h][l]=0;
			}
		}
	}

	void	右移()
	{
		zhuanl++;
		for (int h=0;h<24 ;h++ )
		{
			for (int l=11;l>=0 ;l-- )
			{
				luos[h][l+1]=luos[h][l];
				luos[h][l]=0;
			}
		}
	}

	void 旋转()
	{
        for(int h=0;h<24;h++)
    	{
    		for(int l=0;l<13;l++)
    		{
    			if(luos[h][l]==1)
    			{
     				int xinl=zhuanl+zhuanh-h;     				
    				int xinh=zhuanh-zhuanl+l;
  			
   					lins[xinh][xinl]=1;
    			}
    		}
    	}   
    	
        for(int h=0;h<24;h++)
    	{
    		for(int l=0;l<13;l++)
    		{  			
   				luos[h][l]=lins[h][l];
   				lins[h][l]=0;
    		}
    	} 	
	}
	
	boolean	能落吗()
	{
		for (int l=0;l<13 ;l++ )
		{
			if(luos[23][l]==1)
			{
				return false;				
			}
		}
		for (int h=0;h<23 ;h++ )
		{
			for (int l=0;l<13 ;l++ )
			{
				if(shis[h+1][l]==1	&&	luos[h][l]==1)
				{
					return false;
				}
			}
		}
		return true;
	}

	boolean	能左移吗()
	{
		for (int h=0;h<24 ;h++ )
		{
			if(luos[h][0]==1)
			{
				return false;				
			}
		}
		for (int h=0;h<24 ;h++ )
		{
			for (int l=1;l<13 ;l++ )
			{
				if(shis[h][l-1]==1	&&	luos[h][l]==1)
				{
					return false;
				}
			}
		}

		return true;

	}

	boolean	能右移吗()
	{
		for (int h=0;h<24 ;h++ )
		{
			if(luos[h][12]==1)
			{
				return false;				
			}
		}
		for (int h=0;h<24 ;h++ )
		{
			for (int l=0;l<12 ;l++ )
			{
				if(shis[h][l+1]==1	&&	luos[h][l]==1)
				{
					return false;
				}
			}
		}

		return true;

	}

	boolean 能旋转吗()
	{
        for(int h=0;h<24;h++)
    	{
    		for(int l=0;l<13;l++)
    		{
    			if(luos[h][l]==1)
    			{
 	    			int xinh=zhuanh-zhuanl+l;
	    			int xinl=zhuanl+zhuanh-h;    			
	    			if(xinh<0 || xinh>=24 || xinl<0 || xinl>=13 )
	    			{
	        			return false;		
	    			}   				
    			}
    		}
    	} 	  	
        
        for(int h=0;h<20;h++)
    	{
    		for(int l=0;l<10;l++)
    		{
    			if(luos[h][l]==1)
    			{
	    			int xinh=zhuanh-zhuanl+l;
	    			int xinl=zhuanl+zhuanh-h;    			
	    			if(  shis[xinh][xinl]==1)
	    			{
	        			return false;		
	    			}    				
    			}
    		}
    	}    		
  		return true;    			
	}
	
	void	落实()
	{
		for (int h=0;h<24; h++ )
		{
			for (int l=0;l<13 ;l++ )
			{
				if(luos[h][l]==1)
				{
					shis[h][l]=1;
					luos[h][l]=0;
				}
			}
		}
	}

	void	显示落实(Graphics2D g2d)
	{
		for (int h=0;h<24 ;h++ )
		{
			for (int l=0;l<13 ;l++ )
			{
				if(shis[h][l]==1)
				{
					g2d.setColor(Color.GREEN);
					g2d.drawRect(272+l*18,23+h*18,18,18);
					g2d.setFont(new Font("隶书",1,15));
					g2d.setColor(Color.ORANGE);
					g2d.drawString("艳",274+l*18,38+h*18);
				}
			}
		}

	}

	int 销行()
	{
		int xh=0;
		for (int h=0;h<24 ;h++)
		{	
			int ge=0;
			for (int l=0;l<13 ;l++ )
			{
				ge=ge+shis[h][l];		
			}
			if(ge==13)
			{
				xh++;
				for (int i=h-1; i>=0;i--)
				{
					for (int l=0;l<13 ; l++)
					{					
						shis[i+1][l]=shis[i][l];		
					}	
				}
			}
			else
			{
				ge++;
			}
		}
		return xh;
	}

	void	得分(int hang)
	{
		switch (hang)
		{
		case 0:
			fen=fen;
			break;
		case 1:
			fen=fen+100;
			break;
		case 2:
			fen=fen+300;
			break;
		case 3:
			fen=fen+500;
			break;
		case 4:
			fen=fen+800;
			break;

		}
	}

	void	升级()
	{
		switch (ji)
		{
		case 0:
			ji=ji+fen/1000;
			break;
		case 1:
			ji=ji+fen/3000;		
			break;
		case 2:
			ji=ji+fen/6000;		
			break;
		case 3:
			ji=ji+fen/12000;		
			break;
		case 4:
			ji=ji+fen/24000;		
			break;
		case 5:
			ji=ji+fen/48000;		
			break;
		case 6:
			ji=ji+fen/96000;		
			break;
		case 7:
			ji=ji+fen/192000;		
			break;
		case 8:
			ji=ji+fen/384000;		
			break;
		case 9:
			ji=ji+fen/768000;		
			break;
		case 10:
			ji=ji+fen/1526000;		
			break;
		case 11:
			ji=ji+fen/3052000;				
			break;
		case 12:
			ji=ji+fen/6104000;			
			break;
		}
	}

	boolean 能死吗()
	{
		for (int h=0;h<24 ;h++ )
		{
			for (int l=0;l<13 ;l++ )
			{
				if(shis[0][l]==1)
				{
					return true;
				}
			}
		}
		return false;
	}

	void	游戏结束(Graphics2D g2d,Screen s)
	{
		Image gameOver=(new ImageIcon("GAMEOVER.PNG")).getImage();
		g2d.drawImage(gameOver,150,100,s);
		if(fen<=1000)
		{
			g2d.setColor(Color.WHITE);
			g2d.setFont(new Font("楷体",0,15));
			g2d.drawString("你真笨!o(∩_∩)o...哈哈",250,200);
			g2d.drawString("最终得分:"+fen,220,220);	
			g2d.setFont(new Font("宋体",0,17));
			g2d.drawString("按空格键可重新开始",400,10);	
			start=false;
		}
		else
		{
			g2d.setColor(Color.RED);
			g2d.setFont(new Font("楷体",0,16));
			g2d.drawString("你真爷们!o(∩_∩)o...哈哈",200,200);
			g2d.drawString("最终得分:"+fen,200,220);
			g2d.setFont(new Font("宋体",0,17));
			g2d.drawString("按空格键可重新开始",400,10);	
			start=false;
		}


	}

	void	按下加速()
	{
		for (int h=22;h>=0 ;h-- )
		{
			for (int l=0;l<13 ;l++ )
			{
				luos[h+1][l]=luos[h][l];
				luos[h][l]=0;					
			}
		}
	}
	void	显示分(Graphics2D g2d)
	{
		g2d.setFont(new Font("黑体",1,20));
		g2d.setColor(Color.PINK);
		g2d.drawString(""+fen,545,75);
	}

	void	显示级(Graphics2D g2d)
	{
		g2d.setFont(new Font("黑体",1,30));
		g2d.drawString(""+ji,570,155);
	}
	void 显示字(Graphics2D g2d)
	{
		g2d.setFont(new Font("楷体",1,20));
		g2d.setColor(Color.RED);
		g2d.drawString("天下风云出我辈,",49,130);
		g2d.drawString("一入江湖岁月催.",49,149);
		g2d.drawString("鸿图霸业谈笑中,",49,168);
		g2d.drawString("不胜人生一场醉.",49,187);
		g2d.setFont(new Font("微软雅黑",0,15));		
		g2d.setColor(Color.BLUE);
		g2d.drawString("----这是我的第一个成品",51,205);		
		g2d.drawString("送给一直理解并支持着我的",41,221);
		g2d.drawString("亲爱的媳妇小傻艳儿~",31,237);
		g2d.setFont(new Font("微软雅黑",1,30));
		g2d.setColor(Color.BLACK);
		g2d.drawString(" -----By 狼魂",21,350);
	}
};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -