String toBoardString()

in lib/src/game/game_core.dart [111:159]


  String toBoardString() {
    final buffer = StringBuffer();
    for (var y = -2; y < field.height; y++) {
      if (y > -2) {
        buffer.write('\n');
      }
      for (var x = -2; x < field.width; x++) {
        late String char;
        if (y == -2) {
          if (x == -2) {
            char = ' ';
          } else if (x == -1) {
            char = '|';
          } else {
            char = (x % 10).toString();
          }
        } else if (y == -1) {
          if (x == -1) {
            char = '+';
          } else {
            char = '-';
          }
        } else {
          if (x == -2) {
            char = (y % 10).toString();
          } else if (x == -1) {
            char = '|';
          } else {
            switch (getSquareState(x, y)) {
              case SquareState.flagged:
                char = '\u2611';
                break;
              case SquareState.revealed:
                final count = field.getAdjacentCount(x, y);
                char = count.toString();
                break;
              case SquareState.hidden:
                char = '?';
                break;
              default:
              // noop;
            }
          }
        }
        buffer.write(char);
      }
    }
    return buffer.toString();
  }