@Override
	protected ArrayList<PossibleTile> getLazyTiles(Board b) {
		ArrayList<PossibleTile> possibleTiles = new ArrayList<PossibleTile>();
		int i = 1;
		boolean canSearch = true;
		while (canSearch) {
			PossibleTile pt = new PossibleTile(this.getX() - i, this.getY() - i, this);
			canSearch = decideToAddTile(b, possibleTiles, pt);
			i++;
		}
		i = 1;
		canSearch = true;
		while (canSearch) {
			PossibleTile pt = new PossibleTile(this.getX() - i, this.getY() + i, this);
			canSearch = decideToAddTile(b, possibleTiles, pt);
			i++;
		}
		i = 1;
		canSearch = true;
		while (canSearch) {
			PossibleTile pt = new PossibleTile(this.getX() + i, this.getY() - i, this);
			canSearch = decideToAddTile(b, possibleTiles, pt);
			i++;
		}
		i = 1;
		canSearch = true;
		while (canSearch) {
			PossibleTile pt = new PossibleTile(this.getX() + i, this.getY() + i, this);
			canSearch = decideToAddTile(b, possibleTiles, pt);
			i++;
		}
		i = 1;
		canSearch = true;
		while (canSearch) {
			PossibleTile pt = new PossibleTile(this.getX() - i, this.getY(), this);
			canSearch = decideToAddTile(b, possibleTiles, pt);
			i++;
		}
		i = 1;
		canSearch = true;
		while (canSearch) {
			PossibleTile pt = new PossibleTile(this.getX() + i, this.getY(), this);
			canSearch = decideToAddTile(b, possibleTiles, pt);
			i++;
		}
		i = 1;
		canSearch = true;
		while (canSearch) {
			PossibleTile pt = new PossibleTile(this.getX(), this.getY() - i, this);
			canSearch = decideToAddTile(b, possibleTiles, pt);
			i++;
		}
		i = 1;
		canSearch = true;
		while (canSearch) {
			PossibleTile pt = new PossibleTile(this.getX(), this.getY() + i, this);
			canSearch = decideToAddTile(b, possibleTiles, pt);
			i++;
		}
		return possibleTiles;
	}