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

📄 6002e3f7a561001c1353ca932f09e5b1

📁 QQ连连看游戏源码。完全仿照QQ游戏中的连连看制作的单机版游戏。
💻
📖 第 1 页 / 共 2 页
字号:
				if(isEmptyC)
					erase(i,j);
				else
				{
					JOptionPane.showMessageDialog(FrameUI.mainFrame, "考虑两个拐点的情况");
					FrameUI.changeBtn = FrameUI.imageBtn[i][j];
					FrameUI.row = i;
					FrameUI.column = j;	
					FrameUI.statusLabel.setText("当前点坐标为:("+FrameUI.row+","+FrameUI.column+"), 位移为"+String.valueOf(FrameUI.row*17+FrameUI.column));
				}
			}
			else
			{
				JOptionPane.showMessageDialog(FrameUI.mainFrame, "考虑两个拐点的情况");
				FrameUI.changeBtn = FrameUI.imageBtn[i][j];
				FrameUI.row = i;
				FrameUI.column = j;	
				FrameUI.statusLabel.setText("当前点坐标为:("+FrameUI.row+","+FrameUI.column+"), 位移为"+String.valueOf(FrameUI.row*17+FrameUI.column));
			}
		}
	}
	public void bottomRightCornerErase2(int i, int j)
	{
		int k=0;
		int n=0;
		boolean isEmptyR = true;
		boolean isEmptyC = true;
		if(j==FrameUI.column+1 && FrameUI.row == i+1)
			erase(i,j);
		else if(j==FrameUI.column+1 && FrameUI.row>i+1)
		{
			oneWayNext(i,j,"bottomRightColumn2");						
		}
		else if(FrameUI.row==i+1 && j>FrameUI.column+1)
		{
			oneWayNext(i, j, "bottomRightRow2");
		}
		else
		{
			for(k=FrameUI.column+1; k<j; k++)
			{
				if(FrameUI.imageBtn[FrameUI.row][k].getIcon() != null)
				{
					isEmptyR = false;
					break;
				}
			}
			if(isEmptyR)
			{
				for(n=i+1; n<FrameUI.row; n++)
				{
					if(FrameUI.imageBtn[n][j].getIcon() != null)
					{
						isEmptyC = false;
						break;
					}
				}
				if(isEmptyC)
					erase(i,j);
				else
				{
					JOptionPane.showMessageDialog(FrameUI.mainFrame, "考虑两个拐点的情况");
					FrameUI.changeBtn = FrameUI.imageBtn[i][j];
					FrameUI.row = i;
					FrameUI.column = j;	
					FrameUI.statusLabel.setText("当前点坐标为:("+FrameUI.row+","+FrameUI.column+"), 位移为"+String.valueOf(FrameUI.row*17+FrameUI.column));
				}
			}
			else
			{
				JOptionPane.showMessageDialog(FrameUI.mainFrame, "考虑两个拐点的情况");
				FrameUI.changeBtn = FrameUI.imageBtn[i][j];
				FrameUI.row = i;
				FrameUI.column = j;	
				FrameUI.statusLabel.setText("当前点坐标为:("+FrameUI.row+","+FrameUI.column+"), 位移为"+String.valueOf(FrameUI.row*17+FrameUI.column));
			}
		}
	}
	public void topLeftCornerErase2(int i, int j)
	{
		int k=0;
		int n=0;
		boolean isEmptyC = true;
		boolean isEmptyR = true;
		if(j==FrameUI.column+1 && FrameUI.row == i+1)
			erase(i,j);
		else if(j==FrameUI.column+1 && FrameUI.row>i+1)
		{
			oneWayNext(i,j,"topLeftColumn2");						
		}
		else if(FrameUI.row==i+1 && j>FrameUI.column+1)
		{
			oneWayNext(i, j, "topLeftRow2");
		}
		else
		{		
			for(k=FrameUI.column+1; k<j; k++)
			{
				if(FrameUI.imageBtn[i][k].getIcon() != null)
				{
					isEmptyR = false;
					break;
				}
			}
			if(isEmptyR)
			{
				for(n=i+1; n<FrameUI.row; n++)
				{
					if(FrameUI.imageBtn[n][FrameUI.column].getIcon() != null)
					{
						isEmptyC = false;
						break;
					}
				}
				if(isEmptyC)
					erase(i,j);
				else
					bottomRightCornerErase2(i,j);
			}
			else
				bottomRightCornerErase2(i,j);
		}
	}
	public void topRightCornerErase3(int i, int j)
	{
		int k=0; 
		int n=0;
		boolean isEmptyR = true;
		boolean isEmptyC = true;
		if(FrameUI.column == j+1 && FrameUI.row == i+1)
			erase(i,j);
		else if(FrameUI.column==j+1 && FrameUI.row>i+1)
		{
			oneWayNext(i,j,"topRightColumn3");						
		}
		else if(FrameUI.row==i+1 && FrameUI.column>j+1)
		{
			oneWayNext(i, j, "topRightRow3");
		}
		else
		{
			for(k=j+1;k<FrameUI.column;k++)
			{
				if(FrameUI.imageBtn[i][k].getIcon() != null)
				{
					isEmptyR = false;
					break;
				}
			}
			if(isEmptyR)
			{
				for(n=i+1; n<FrameUI.row; n++)
				{
					if(FrameUI.imageBtn[n][FrameUI.column].getIcon() != null)
					{
						isEmptyC = false;
						break;
					}
				}
				if(isEmptyC)
					erase(i,j);
				else
				{
					JOptionPane.showMessageDialog(FrameUI.mainFrame, "考虑两个拐点的情况");
					FrameUI.changeBtn = FrameUI.imageBtn[i][j];
					FrameUI.row = i;
					FrameUI.column = j;	
					FrameUI.statusLabel.setText("当前点坐标为:("+FrameUI.row+","+FrameUI.column+"), 位移为"+String.valueOf(FrameUI.row*17+FrameUI.column));
				}
			}
			else
			{
				JOptionPane.showMessageDialog(FrameUI.mainFrame, "考虑两个拐点的情况");
				FrameUI.changeBtn = FrameUI.imageBtn[i][j];
				FrameUI.row = i;
				FrameUI.column = j;	
				FrameUI.statusLabel.setText("当前点坐标为:("+FrameUI.row+","+FrameUI.column+"), 位移为"+String.valueOf(FrameUI.row*17+FrameUI.column));
			}
		}
	}
	public void bottomLeftCornerErase3(int i, int j)
	{
		int k=0; 
		int n=0;
		boolean isEmptyC = true;
		boolean isEmptyR = true;
		if(FrameUI.row == i+1 && FrameUI.column==j+1)
			erase(i,j);
		else if(FrameUI.row==i+1 && FrameUI.column>j+1)
		{	
			oneWayNext(i,j,"bottomLeftRow3");
		}
		else if(FrameUI.column == j+1 && FrameUI.row>i+1)
		{
			oneWayNext(i,j,"bottomLeftColumn3");
		}
		else
		{
			for(k=i+1; k<FrameUI.row; k++)
			{
				if(FrameUI.imageBtn[k][j].getIcon()!=null)
				{
					isEmptyC = false;
					break;
				}
			}
			if(isEmptyC)
			{
				for(n=j+1; n<FrameUI.column; n++)
				{
					if(FrameUI.imageBtn[FrameUI.row][n].getIcon() != null)
					{
						isEmptyR = false;
						break;
					}
				}
				if(isEmptyR)
					erase(i,j);
				else
					topRightCornerErase3(i,j);
			}
			else
				topRightCornerErase3(i,j);
		}
	}
	public void bottomRightCornerErase4(int i, int j)
	{
		int k=0;
		int n=0;
		boolean isEmptyR = true;
		boolean isEmptyC = true;
		if(FrameUI.column == j+1 && i == FrameUI.row+1)			
			erase(i,j);
		else if(FrameUI.column == j+1 && i>FrameUI.row+1)
		{
			oneWayNext(i,j,"bottomRightColumn4");						
		}
		else if(i==FrameUI.row+1 && FrameUI.column>j+1)
		{
			oneWayNext(i, j, "bottomRightRow4");
		}
		else
		{
			for(k=j+1; k<FrameUI.column; k++)
			{
				if(FrameUI.imageBtn[i][k].getIcon() != null)
				{
					isEmptyR = false;
					break;
				}
			}
			if(isEmptyR)
			{
				for(n=FrameUI.row+1; n<i; n++)
				{
					if(FrameUI.imageBtn[n][FrameUI.column].getIcon() != null)
					{
						isEmptyC = false;
						break;
					}
				}
				if(isEmptyC)
					erase(i,j);
				else
				{
					JOptionPane.showMessageDialog(FrameUI.mainFrame, "考虑两个拐点的情况");
					FrameUI.changeBtn = FrameUI.imageBtn[i][j];
					FrameUI.row = i;
					FrameUI.column = j;	
					FrameUI.statusLabel.setText("当前点坐标为:("+FrameUI.row+","+FrameUI.column+"), 位移为"+String.valueOf(FrameUI.row*17+FrameUI.column));
				}
			}
			else
			{
				JOptionPane.showMessageDialog(FrameUI.mainFrame, "考虑两个拐点的情况");
				FrameUI.changeBtn = FrameUI.imageBtn[i][j];
				FrameUI.row = i;
				FrameUI.column = j;
				FrameUI.statusLabel.setText("当前点坐标为:("+FrameUI.row+","+FrameUI.column+"), 位移为"+String.valueOf(FrameUI.row*17+FrameUI.column));
			}
		}
	}
	public void topLeftCornerErase4(int i, int j)
	{
		int k=0;
		int n=0;
		boolean isEmptyC = true;
		boolean isEmptyR = true;
		if(FrameUI.column==j+1 && i==FrameUI.row+1)
			erase(i,j);
		else if(FrameUI.column == j+1 && i>FrameUI.row+1)
		{
			oneWayNext(i,j,"topLeftColumn4");						
		}
		else if(i==FrameUI.row+1 && FrameUI.column>j+1)
		{
			oneWayNext(i, j, "topLeftRow4");
		}
		else
		{		
			for(k=j+1; k<FrameUI.column; k++)
			{
				if(FrameUI.imageBtn[FrameUI.row][k].getIcon() != null)
				{
					isEmptyR = false;
					break;
				}
			}
			if(isEmptyR)
			{
				for(n=FrameUI.row+1; n<i; n++)
				{
					if(FrameUI.imageBtn[n][j].getIcon() != null)
					{
						isEmptyC = false;
						break;
					}
				}
				if(isEmptyC)
					erase(i,j);
				else
					bottomRightCornerErase4(i,j);
			}
			else
				bottomRightCornerErase4(i,j);
		}
	}
	public void sameRowTwoCorner(int i, int j, String s)
	{
		int k = 0;
		int n = 0;
		boolean isEmpty = true;
		boolean isEmptyC1 = true;
		boolean isEmptyC2 = true;
		for(k=0; k<10; k++)
		{
			if(FrameUI.imageBtn[k][FrameUI.column].getIcon()==null && FrameUI.imageBtn[k][j].getIcon()==null)
			{
				if(s.equals("column<j"))
				{
					for(n=FrameUI.column+1; n<j; n++)
					{
						if(FrameUI.imageBtn[k][n].getIcon() != null)
						{
							isEmpty = false;
							break;
						}
					}
					if(isEmpty && k>FrameUI.row+1)
					{
						for(int m=FrameUI.row+1; m<k;m++)
						{
							if(FrameUI.imageBtn[m][FrameUI.column].getIcon() != null)
							{
								isEmptyC1 = false;
								break;
							}
						}
						if(isEmptyC1)
						{
							for(int l=i+1; l<k; l++)
							{
								if(FrameUI.imageBtn[l][j].getIcon() != null)
								{
									isEmptyC2 = false;
									break;
								}
							}
							if(isEmptyC2)
							{
								erase(i,j);
								break;
							}
						}
					}
					else if(isEmpty && (k==FrameUI.row+1 || k==FrameUI.row-1))
					{
						erase(i,j);
						break;
					}
					else if(isEmpty && k<FrameUI.row-1)
					{
						for(int m=k+1; m<FrameUI.row; m++)
						{
							if(FrameUI.imageBtn[m][FrameUI.column].getIcon() != null)
							{
								isEmptyC1 = false;
								break;
							}
						}
						if(isEmptyC1)
						{
							for(int l=k+1; l<i; l++)
							{
								if(FrameUI.imageBtn[l][j].getIcon() != null)
								{
									isEmptyC2 = false;
									break;
								}
							}
							if(isEmptyC2)
							{
								erase(i,j);
								break;
							}
						}
					}
				}
				else if(s.equals("column>j"))
				{
					for(n=j+1;n<FrameUI.column;n++)
					{
						if(FrameUI.imageBtn[k][n].getIcon() != null)
						{
							isEmpty = false;
							break;
						}
					}
					if(isEmpty && k>FrameUI.row+1)
					{
						for(int m=FrameUI.row+1; m<k; m++)
						{
							if(FrameUI.imageBtn[m][j].getIcon() != null)
							{
								isEmptyC1 = false;
								break;
							}
						}
						if(isEmptyC1)
						{
							for(int l=FrameUI.row+1; l<k; l++)
							{
								if(FrameUI.imageBtn[l][FrameUI.column].getIcon() != null)
								{
									isEmptyC2 = false;
									break;
								}
							}
							if(isEmptyC2)
							{
								erase(i,j);
								break;
							}
						}
					}
					else if(isEmpty && (k==FrameUI.row+1 || k==FrameUI.row-1))
					{
						erase(i,j);
						break;
					}
					else if(isEmpty && k<FrameUI.row-1)
					{
						for(int m=k+1;m<i; m++)
						{
							if(FrameUI.imageBtn[m][j].getIcon() != null)
							{
								isEmptyC1 = false;
								break;
							}
						}
						if(isEmptyC1)
						{
							for(int l=k+1; l<FrameUI.row; l++)
							{
								if(FrameUI.imageBtn[l][FrameUI.column].getIcon() != null)
								{
									isEmptyC2 = false;
									break;
								}
							}
							if(isEmptyC2)
							{
								erase(i,j);
								break;
							}
						}
					}
				}
			}
			isEmpty = true;
			isEmptyC1 = true;
			isEmptyC2 = true;
		}
		if(k==10)
		{
			FrameUI.changeBtn = FrameUI.imageBtn[i][j];
			FrameUI.row = i;
			FrameUI.column = j;
			FrameUI.statusLabel.setText("当前点坐标为:("+FrameUI.row+","+FrameUI.column+"), 位移为"+String.valueOf(FrameUI.row*17+FrameUI.column));
		}
	}
	public void sameColumnTwoCorner(int i,int j, String s)
	{
		int k = 0;
		int n = 0;
		boolean isEmpty = true;
		for(k=0; k<17; k++)
		{
			if(FrameUI.imageBtn[FrameUI.row][k].getIcon()==null && FrameUI.imageBtn[i][k].getIcon()==null)
			{
				if(s.equals("row<i"))
				{
					for(n=FrameUI.row+1; n<i; n++)
					{
						if(FrameUI.imageBtn[n][k].getIcon() != null)
						{
							isEmpty = false;
							break;
						}
					}
				}
				else if(s.equals("row>i"))
				{
					for(n=i+1;n<FrameUI.row;n++)
					{
						if(FrameUI.imageBtn[n][k].getIcon() != null)
						{
							isEmpty = false;
							break;
						}
					}
				}
				if(isEmpty)
				{
					erase(i,j);
					break;
				}
			}
			isEmpty = true;
		}
		if(k==17)
		{
			FrameUI.changeBtn = FrameUI.imageBtn[i][j];
			FrameUI.row = i;
			FrameUI.column = j;
			FrameUI.statusLabel.setText("当前点坐标为:("+FrameUI.row+","+FrameUI.column+"), 位移为"+String.valueOf(FrameUI.row*17+FrameUI.column));
		}
	}
	public void erase(int i, int j)
	{
		FrameUI.imageBtn[i][j].setIcon(null);
		FrameUI.imageBtn[i][j].setBackground(new Color(0x374d76));
		FrameUI.imageBtn[i][j].setEnabled(false);
		FrameUI.imageBtn[i][j].setBorderPainted(false);
		FrameUI.imageBtn[FrameUI.row][FrameUI.column].setIcon(null);
		FrameUI.imageBtn[FrameUI.row][FrameUI.column].setBackground(new Color(0x374d76));
		FrameUI.imageBtn[FrameUI.row][FrameUI.column].setEnabled(false);
		FrameUI.imageBtn[FrameUI.row][FrameUI.column].setBorderPainted(false);
		FrameUI.changeBtn = null;
		FrameUI.row = 0;
		FrameUI.column = 0;
		EventHandler.playMusic("erase.wav");
	}
}

⌨️ 快捷键说明

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