@Override
	public boolean equals(Object other) {

		if (other == null) {
			return false;
		}

		if (other == this) {
			return true;
		}

		if (!(other instanceof BoardPosition)) {
			return false;
		}

		BoardPosition otherBoardPosition = (BoardPosition) other;

		if (this.xBoard == otherBoardPosition.xBoard
				&& this.yBoard == otherBoardPosition.yBoard
				&& this.xTile == otherBoardPosition.xTile
				&& this.yTile == otherBoardPosition.yTile) {
			return true;
		}

		return false;
	}