generate method

Future<bool> generate()

Generates a new puzzle using parameters set in _options

Implementation

Future<bool> generate() async {
  if (_board != null) GenerationException('Board already generated');

  await _solver.solve();
  _board = deepClone(_solver.solvedBoard());

  if (_options!.patternName!.toLowerCase() == "random") {
    _patterner.buildGridFromRandom(_board, _options!.clues!);
  } else {
    _patterner.buildGridFromPattern(_board, _options!.patternName);
  }

  _board!.startListening();
  _boardChangeStreamSub =
      _board!.change.listen((cell) => _onBoardChange(cell));

  return true;
}