public boolean clearPathInDiagonalBetween(Field from, Field to) { // Is diagonal path between fields clear?
		int fileAdjustment = from.file < to.file ? 1 : -1; // Move left or right
		int rankAdjustment = from.rank < to.rank ? 1 : -1; // Move up or down
		char file = (char) (from.file + fileAdjustment);
		char rank = (char) (from.rank + rankAdjustment);
		while (rank != to.rank) {
			if (this.getField(file, rank).hasPiece()) {
				return false;
			}
			rank = (char) (rank + rankAdjustment);
			file = (char) (file + fileAdjustment);
		}
		return true;
	}