Skip to content
Snippets Groups Projects
Select Git revision
  • db163e64312e2c07374fa7058832ecc25ede4bc1
  • master default protected
  • 39-upgrade-framework-and-dependencies
  • 22-improve-app-metadata
  • 9-improve-layout-and-graphics
  • Release_0.9.0_34 protected
  • Release_0.8.2_33 protected
  • Release_0.8.1_32 protected
  • Release_0.8.0_31 protected
  • Release_0.7.0_30 protected
  • Release_0.6.0_29 protected
  • Release_0.5.0_28 protected
  • Release_0.4.2_27 protected
  • Release_0.4.1_26 protected
  • Release_0.4.0_25 protected
  • Release_0.3.1_24 protected
  • Release_0.3.0_23 protected
  • Release_0.2.1_22 protected
  • Release_0.2.0_21 protected
  • Release_0.1.1_20 protected
  • Release_0.1.0_19 protected
  • Release_0.0.18_18 protected
  • Release_0.0.17_17 protected
  • Release_0.0.16_16 protected
  • Release_0.0.15_15 protected
25 results

global_app_bar.dart

Blame
  • board_utils.dart 6.76 KiB
    import '../entities/cell.dart';
    import '../provider/data.dart';
    
    class BoardUtils {
    
      static printGrid(List cells) {
        final String IS_MINED = 'X';
        final String IS_SAFE = '.';
    
        final String MINE_FOUND = '#';
        final String WRONG_MARKED_CELL = '0';
        final String EXPLORED_SAFE_CELL = '.';
        final String UNKNOWN_STATE = ' ';
    
        print('');
        String line = '--';
        for (var i = 0; i < cells[0].length; i++) {
          line += '-';
        }
        print(line + '  ' + line);
        for (var rowIndex = 0; rowIndex < cells.length; rowIndex++) {
          String currentLine = '';
          String solvedLine = '';
          for (var colIndex = 0; colIndex < cells[rowIndex].length; colIndex++) {
            solvedLine += cells[rowIndex][colIndex].isMined ? IS_MINED : IS_SAFE;
    
            String cellString = UNKNOWN_STATE;
            if (cells[rowIndex][colIndex].isExplored) {
              cellString = EXPLORED_SAFE_CELL;
            }
            if (cells[rowIndex][colIndex].isMarked) {
              if (cells[rowIndex][colIndex].isMined) {
                cellString = MINE_FOUND;
              } else {
                cellString = WRONG_MARKED_CELL;
              }
            }
            currentLine += cellString;
          }
          print('|' + currentLine + '|  |' + solvedLine + '|');
        }
        print(line + '  ' + line);
        print('');
      }
    
      static List createEmptyBoard(int sizeHorizontal, int sizeVertical) {
        int index = 0;
        List cells = [];
        for (var rowIndex = 0; rowIndex < sizeVertical; rowIndex++) {
          List row = [];
          for (var colIndex = 0; colIndex < sizeHorizontal; colIndex++) {
            row.add(Cell(false));
          }
          cells.add(row);
        }
    
        return cells;
      }
    
      static int getMinesCount(int sizeHorizontal, int sizeVertical, String level) {
        int minesCountRatio = 0;
        switch(level) {
          case 'easy': {
            minesCountRatio = 5;
          }
          break;
          case 'medium': {
            minesCountRatio = 10;
          }
          break;