diagonalDownLeft method

bool diagonalDownLeft(
  1. [int n = 1]
)

Change position in diagonal down left position by n cells.

Default value of n is 1. Return true on success.

diagonalDownLeft();
diagonalDownLeft(2);
...

Implementation

bool diagonalDownLeft([int n = 1]) {
  if (n <= 0) {
    return false;
  }
  final int newRow = _row + n;
  final int newColumn = _column - n;
  if (validatePosition(newRow, newColumn)) {
    _column = newColumn;
    _row = newRow;

    return true;
  }

  if (_column == 5 && _row == 3 && n == 1) {
    _column = 3;
    _row = 5;

    return true;
  } else if (_column == 2 && _row == 0 && n == 1) {
    _column = 0;
    _row = 2;

    return true;
  }

  return false;
}