import 'dart:math'; import 'package:flutter/material.dart'; import '../entities/cell.dart'; import '../provider/data.dart'; import '../utils/board_utils.dart'; class Board { static Container buildGameBoard(Data myProvider) { Color borderColor = BoardUtils.checkBoardIsSolved(myProvider) ? Colors.green : Colors.orange; return Container( margin: EdgeInsets.all(2), padding: EdgeInsets.all(2), decoration: BoxDecoration( color: borderColor, borderRadius: BorderRadius.circular(2), border: Border.all( color: borderColor, width: 2, ), ), child: buildGameTileset(myProvider), ); } static Table buildGameTileset(Data myProvider) { int boardSize = myProvider.blockSizeHorizontal * myProvider.blockSizeVertical; List cells = myProvider.cells; return Table( defaultColumnWidth: IntrinsicColumnWidth(), children: [ for (var row = 0; row < boardSize; row++) TableRow(children: [ for (var col = 0; col < boardSize; col++) Column(children: [ cells[row][col].widget( myProvider, Cell.getCellBorders(myProvider, row, col), row, col ) ]), ]), ] ); } }