diagonalUpRight method

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

Change position in diagonal up right position by n cells.

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

diagonalUpRight();
diagonalUpRight(2);
...

Implementation

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

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

    return true;
  }

  return false;
}