public boolean isLegalMovement(HantoCell from, HantoCell to, HantoBasePiece piece)throws HantoException{
		boolean isLegal = true;
		int cellDistance = getDistance(from, to);

		
		if (!isAdjacent(to.getX(), to.getY())){
			throw new HantoException("Cell is not adjacent");
		}
		if (breaksContinuity(from, to)){
			throw new HantoException("Contiunity would break");
		}
		if(piece.getMoveType() == HantoMove.WALK)
		{
			if(!slideCheck(from, to))
			{
				throw new HantoException("Slide Moves are illegal");
			}
		} else if (piece.getMoveType() == HantoMove.JUMP){
			if (!isStraight(from, to)){
				throw new HantoException("This Piece Must Move Straight but is Not");
			}
		}
		if (cellDistance > piece.getMoveDistance()){
			throw new HantoException("Distance too far for piece");
		}

		return isLegal;
	}