Skip to content
Snippets Groups Projects
Select Git revision
  • c95f997dd4a8034c32a7d87e5294401d67385088
  • master default protected
  • 35-upgrade-framework-and-dependencies
  • 24-add-fruits
  • 15-improve-app-metadata
  • Release_0.10.0_31 protected
  • Release_0.9.2_30 protected
  • Release_0.9.1_29 protected
  • Release_0.9.0_28 protected
  • Release_0.8.0_27 protected
  • Release_0.7.0_26 protected
  • Release_0.6.0_25 protected
  • Release_0.5.4_24 protected
  • Release_0.5.3_23 protected
  • Release_0.5.2_22 protected
  • Release_0.5.1_21 protected
  • Release_0.5.0_20 protected
  • Release_0.4.0_19 protected
  • Release_0.3.1_18 protected
  • Release_0.3.0_17 protected
  • Release_0.2.1_16 protected
  • Release_0.2.0_15 protected
  • Release_0.1.1_14 protected
  • Release_0.1.0_13 protected
  • Release_0.0.12_12 protected
25 results

button_game_start_new.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,
        };
      }
    }