------
## 最终结论
```python
def get_maxgold(mine, row, col):
    # Initialize a DP table with the same dimensions as the mine
    dp = [[0 for _ in range(col)] for _ in range(row)]
    
    # Start from the rightmost column and move left
    for j in range(col - 1, -1, -1):
        for i in range(row):
            # Calculate maximum gold that can be collected from (i, j)
            right = dp[i][j + 1] if j + 1 < col else 0
            right_up = dp[i - 1][j + 1] if i > 0 and j + 1 < col else 0
            right_down = dp[i + 1][j + 1] if i + 1 < row and j + 1 < col else 0
            
            dp[i][j] = mine[i][j] + max(right, right_up, right_down)
    
    # Get the result by finding the maximum gold from the first column
    max_gold = 0
    for i in range(row):
        max_gold = max(max_gold, dp[i][0])
    
    return max_gold

# Test cases
assert get_maxgold([[1, 3, 1, 5],[2, 2, 4, 1],[5, 0, 2, 3],[0, 6, 1, 2]],4,4) == 16
assert get_maxgold([[10,20],[30,40]],2,2) == 70
assert get_maxgold([[4,9],[3,7]],2,2) == 13
```