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

📄 three.java

📁 JAVA图形界面编程与开发
💻 JAVA
字号:
//Three.java


public class Three extends Root
{
	private GameTable gTable;
	private int x,y;
	private int direct=1;
	private int[] store;




	public Three()
	{
		store=new int[15];
	}
	
	public boolean begin()
	{
		if((gTable.myTable[(gTable.x-1)/2][1]==0)&&(gTable.myTable[(gTable.x-1)/2][2]==0)&&
			(gTable.myTable[(gTable.x-1)/2+1][0]==0)&&(gTable.myTable[(gTable.x-1)/2+1][1]==0))
		{
			x=(gTable.x-1)/2;
			y=0;
			gTable.myTable[x][y+1]=1;
			gTable.myTable[x][y+2]=1;
			gTable.myTable[x+1][y]=1;
			gTable.myTable[x+1][y+1]=1;
			return true;
		}
		else
		{
			return false;
		}
	}

	public boolean down()
	{
		switch(direct)
		{
                	case 1:if(y<=gTable.y-4)
			       {
			       		store[0]=gTable.myTable[x][y+3];
					store[1]=gTable.myTable[x+1][y+2];
			       		if(isGo(2))
			       		{
						gTable.myTable[x][y+1]=0;
						gTable.myTable[x+1][y]=0;
						gTable.myTable[x][y+3]=1;
						gTable.myTable[x+1][y+2]=1;
						y+=1;
						return true;
			      		 }
			      		 else
			      		 {
						return false;
			     		 }
				}
				else
				{
					return false;
				}	
			case 2:if(y<=gTable.y-3)
				{
			       		store[0]=gTable.myTable[x][y+1];
			       		store[1]=gTable.myTable[x+1][y+2];
					store[2]=gTable.myTable[x+2][y+2];
			       		if(isGo(3))
			       		{
						gTable.myTable[x][y]=0;
				        	gTable.myTable[x+1][y]=0;
						gTable.myTable[x+2][y+1]=0;
						gTable.myTable[x][y+1]=1;
						gTable.myTable[x+1][y+2]=1;
						gTable.myTable[x+2][y+2]=1;
						y+=1;
						return true;
			   		}
					else
					{
						return false;
					}
				}
				else
				{
					return false;
				}
			default:return false;
		}
	}

	public boolean left()
	{
		switch(direct)
		{
			case 1:if(x>=1)
				{
			      	 	store[0]=gTable.myTable[x][y];
			       		store[1]=gTable.myTable[x-1][y+1];
			       		store[2]=gTable.myTable[x-1][y+2];
			       		if(isGo(3))
			       		{
						gTable.myTable[x+1][y]=0;
						gTable.myTable[x+1][y+1]=0;
						gTable.myTable[x][y+2]=0;
						gTable.myTable[x][y]=1;
						gTable.myTable[x-1][y+1]=1;
						gTable.myTable[x-1][y+2]=1;
						x-=1;
						return true;
			      		 }
			      		 else
			       		{
						return false;
			     		}
				}
				else
				{
					return false;
				}
			case 2:if(x>=1)
				{
			       		store[0]=gTable.myTable[x-1][y];
					store[1]=gTable.myTable[x][y+1];
			       		if(isGo(2))
			      		 {
						gTable.myTable[x+1][y]=0;
						gTable.myTable[x+2][y+1]=0;
						gTable.myTable[x-1][y]=1;
						gTable.myTable[x][y+1]=1;
						x-=1;
						return true;
			   		}
					else
					{
						return false;
					}
				}
				else
				{
					return false;
				}
			default:return false;
		}
	}

	public boolean right()
	{
		switch(direct)
		{
			case 1:if(x<=gTable.x-3)
				{
			      	 	store[0]=gTable.myTable[x+2][y];
			       		store[1]=gTable.myTable[x+2][y+1];
			       		store[2]=gTable.myTable[x+1][y+2];
			       		if(isGo(3))
			       		{
						gTable.myTable[x][y+1]=0;
						gTable.myTable[x][y+2]=0;
						gTable.myTable[x+1][y]=0;
						gTable.myTable[x+2][y]=1;
						gTable.myTable[x+2][y+1]=1;
						gTable.myTable[x+1][y+2]=1;
						x+=1;
						return true;
			      		 }
			      		 else
			       		{
						return false;
			     		}
				}
				else
				{
					return false;
				}
			case 2:if(x<=gTable.x-4)
				{
			       		store[0]=gTable.myTable[x+2][y];
					store[1]=gTable.myTable[x+3][y+1];
			       		if(isGo(2))
			      		 {
						gTable.myTable[x][y]=0;
						gTable.myTable[x+1][y+1]=0;
						gTable.myTable[x+2][y]=1;
						gTable.myTable[x+3][y+1]=1;
						x+=1;
						return true;
			   		}
					else
					{
						return false;
					}
				}
				else
				{
					return false;
				}
			default:return false;
		}
	}

	public boolean change()
	{
		switch(direct)
		{
			case 1:if(x<=gTable.x-3)
				{
			      	 	store[0]=gTable.myTable[x+2][y];
			       		store[1]=gTable.myTable[x+2][y+1];
			       		store[2]=gTable.myTable[x+2][y+2];
			       		store[3]=gTable.myTable[x+2][y+3];
					store[4]=gTable.myTable[x+1][y+2];
					store[5]=gTable.myTable[x+1][y+3];
			       		if(isGo(6))
			       		{
						gTable.myTable[x][y+1]=0;
						gTable.myTable[x+1][y]=0;
						gTable.myTable[x+1][y+1]=0;
						gTable.myTable[x+1][y+2]=1;
						gTable.myTable[x+1][y+3]=1;
						gTable.myTable[x+2][y+3]=1;
						y+=2;
						direct=2;
						return true;
			      		 }
			      		 else
			       		{
						return false;
			     		}
				}
				else
				{
					return false;
				}
			case 2:if(true)
				{
			       		store[0]=gTable.myTable[x+2][y];
			       		store[1]=gTable.myTable[x][y-1];
			       		store[2]=gTable.myTable[x+1][y-1];
			       		store[3]=gTable.myTable[x+2][y-1];
					store[4]=gTable.myTable[x+1][y-2];
					store[5]=gTable.myTable[x+2][y-2];
			       		if(isGo(6))
			      		 {
						gTable.myTable[x+1][y]=0;
						gTable.myTable[x+1][y+1]=0;
						gTable.myTable[x+2][y+1]=0;
						gTable.myTable[x][y-1]=1;
						gTable.myTable[x+1][y-1]=1;
						gTable.myTable[x+1][y-2]=1;
						y-=2;
						direct=1;
						return true;
			   		}
					else
					{
						return false;
					}
				}
				else
				{
					return false;
				}
			default:return false;
		}
	}

	public void downTo()
	{
		boolean canDown=true;
		while(canDown)
		{
			canDown=down();
		}
	}

	public boolean isGo(int n)
	{
		for(int i=0;i<=(n-1);i++)
		{
			if(store[i]!=0)
				return false;
		}
		return true;
	}

	public static void main(String args[])
	{
		new Three();
	}
}

⌨️ 快捷键说明

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