Skip to content
Snippets Groups Projects
Select Git revision
  • b5b91931721be586357b315a4c081c2aa8996bd0
  • master default protected
  • 47-upgrade-framework-and-dependencies
  • 27-improve-app-metadata
  • 6-fix-display-grid
  • Release_1.9.0_38 protected
  • Release_1.8.2_37 protected
  • Release_1.8.1_36 protected
  • Release_1.8.0_35 protected
  • Release_1.7.0_34 protected
  • Release_1.6.0_33 protected
  • Release_1.5.0_32 protected
  • Release_1.4.3_31 protected
  • Release_1.4.2_30 protected
  • Release_1.4.1_29 protected
  • Release_1.4.0_28 protected
  • Release_1.3.1_27 protected
  • Release_1.3.0_26 protected
  • Release_1.2.1_25 protected
  • Release_1.2.0_24 protected
  • Release_1.1.0_23 protected
  • Release_1.0.21_22 protected
  • Release_1.0.20_21 protected
  • Release_1.0.19_20 protected
  • Release_1.0.18_19 protected
25 results

board.dart

Blame
  • board.dart 1.21 KiB
    import 'package:puissance4/utils/tools.dart';
    
    typedef BoardCells = List<List<int>>;
    
    class Board {
      Board({
        required this.cells,
      });
    
      BoardCells cells = const [];
    
      factory Board.createNull() {
        return Board(
          cells: [],
        );
      }
    
      factory Board.createNew({
        required BoardCells cells,
      }) {
        return Board(
          cells: cells,
        );
      }
    
      int getCellValue({required int row, required int col}) {
        return cells[row][col];
      }
    
      void setCellValue({required int row, required int col, required int value}) {
        cells[row][col] = value;
      }
    
      void dump() {
        printlog('');
        String line = '--';
        for (int i = 0; i < cells[0].length; i++) {
          line += '-';
        }
        printlog(line);
        for (int rowIndex = 0; rowIndex < cells.length; rowIndex++) {
          String currentLine = '';
          for (int colIndex = 0; colIndex < cells[rowIndex].length; colIndex++) {
            currentLine += getCellValue(row: rowIndex, col: colIndex).toString();
          }
          printlog('|$currentLine|');
        }
        printlog(line);
        printlog('');
      }
    
      @override
      String toString() {
        return '$Board(${toJson()})';
      }
    
      Map<String, dynamic>? toJson() {
        return <String, dynamic>{
          'cells': cells,
        };
      }
    }