Directions guessDirectionIgnoringRotation(int fromIndex, int toIndex) {
        int fromRow = getRow(fromIndex);
        int toRow = getRow(toIndex);
        int fromCol = getColumn(fromIndex);
        int toCol = getColumn(toIndex);
        if (fromRow == toRow) {
            if (fromCol < toCol) {
                return Directions.east;
            } else {
                return Directions.west;
            }
        }
        if (fromRow < toRow) {
            if (fromCol < toCol) {
                if ((toCol - fromCol) > 2 * (toRow - fromRow)) {
                    return Directions.east;
                } else return Directions.northeast;
            } else {
                if ((fromCol - toCol) > 2 * (toRow - fromRow)) {
                    return Directions.west;
                } else return Directions.northwest;
            }
        }
        if (fromCol < toCol) {
            if ((toCol - fromCol) > 2 * (fromRow - toRow)) {
                return Directions.east;
            } else return Directions.southeast;
        } else {
            if ((fromCol - toCol) > 2 * (fromRow - toRow)) {
                return Directions.west;
            } else return Directions.southwest;
        }
    }