public boolean moveBall()
	{
		Graphics g = this.getGraphics();
		if (isAnyWay())
		{
			Dimension di = (Dimension) mBallList.removeFirst();
			g.drawImage(mEmpty, mFromPlace.width * FaceStyle.BALL_WIDTH, mFromPlace.height * FaceStyle.BALL_HEIGHT, this);
			while (true)	// ƶ
			{
				di = (Dimension) mBallList.removeFirst();
				drawOneBall(g, mCurBall, 2, di.width, di.height);
				if (mBallList.size() == 0)
				{
					break;
				}
				try
				{
					Thread.sleep(20);
				} 
				catch (InterruptedException e)
				{
					
				}
				g.drawImage(mEmpty, di.width * FaceStyle.BALL_WIDTH, di.height * FaceStyle.BALL_HEIGHT, this);
			}
			
			mWhatBall[mFromPlace.width][mFromPlace.height] = BallColor.EMPTY;
			mWhatBall[mToPlace.width][mToPlace.height] = mCurBall;
			
			if (!drawBallCheck(g, mCurBall, 0, mToPlace.width, mToPlace.height))
			{
				try
				{
					Thread.sleep(200);
					for (int i=0; i<3; i++)	// 
					{
						if(!randPlaceBall(g, RandBalls.mRandBalls[i]))
						{
							return false;	// ,Ϸ
						}
						
						Thread.sleep(120);
					}
					if (mEmptyPlace == 0)	// ,Ϸ
					{
						return false;
					}
				}
				catch (InterruptedException e)
				{
					
				}
				
				RandBalls.getBalls();	//  
				if (mEmptyPlace == FaceStyle.BALL_HNUM * FaceStyle.BALL_VNUM)
				{
					// ȫ,Ҫ²,Ա֤Ϸļ
					try
					{
						Thread.sleep(200);
						for (int i=0; i<3; i++)	// 
						{
							if(!randPlaceBall(g, RandBalls.mRandBalls[i]))
							{
								return false;	// ,Ϸ
							}
							
							Thread.sleep(120);
						}
					}
					catch (InterruptedException e)
					{
						
					}
					
					RandBalls.getBalls();	//  
				}
			}
				
			mCurBall = BallColor.EMPTY;	// õǰΪ
			mFromPlace.setSize(NO_SELECTED);	// ǰѡλΪ
		}
		else
		{
			// ,գ۾
			drawOneBall(g, mCurBall, 0, mFromPlace.width, mFromPlace.height);
			try
			{
				Thread.sleep(350);
			} 
			catch (InterruptedException e)
			{
				
			}
			drawOneBall(g, mCurBall, 2, mFromPlace.width, mFromPlace.height);
		}
		mToPlace.setSize(NO_SELECTED);	// õǰҪƵλΪ
		
		return true;	// Ϸδ
	}