Select Git revision
game_board.dart
game_board.dart 1.92 KiB
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:minehunter/cubit/game_cubit.dart';
import 'package:minehunter/models/game/game.dart';
import 'package:minehunter/models/types.dart';
import 'package:minehunter/ui/widgets/game/cell.dart';
class GameBoardWidget extends StatelessWidget {
const GameBoardWidget({super.key});
@override
Widget build(BuildContext context) {
return BlocBuilder<GameCubit, GameState>(
builder: (BuildContext context, GameState gameState) {
final Game currentGame = gameState.currentGame;
final Board board = currentGame.board;
final Color borderColor = currentGame.reportMode ? Colors.blue : Colors.black;
return Container(
margin: const EdgeInsets.all(2),
padding: const EdgeInsets.all(2),
child: Column(
children: [
Container(
decoration: BoxDecoration(
color: borderColor,
borderRadius: BorderRadius.circular(2),
border: Border.all(
color: borderColor,
width: 2,
),
),
child: Table(
defaultColumnWidth: const IntrinsicColumnWidth(),
children: [
for (int row = 0; row < currentGame.sizeVertical; row++)
TableRow(
children: [
for (int col = 0; col < currentGame.sizeHorizontal; col++)
Column(
children: [
CellWidget(cell: board[row][col], row: row, col: col)
],
),
],
),
],
),
),
],
),
);
},
);
}
}