diagonalDownRight method

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

Change position in diagonal down right position by n cells.

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

diagonalDownRight();
diagonalDownRight(2);
...

Implementation

bool diagonalDownRight([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 == 0 && _row == 3 && n == 1) {
    _column = 2;
    _row = 5;

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

    return true;
  }

  return false;
}