Select Git revision
game.dart 3.13 KiB
import 'package:flutter/material.dart';
import 'package:jeweled_game/layout/board.dart';
import 'package:jeweled_game/provider/data.dart';
import 'package:jeweled_game/utils/game_utils.dart';
class Game {
static Container buildGameWidget(Data myProvider, double boardWidth) {
bool gameIsFinished = myProvider.isGameFinished;
return Container(
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
SizedBox(height: 8),
Game.buildTopIndicatorWidget(myProvider),
SizedBox(height: 2),
Expanded(
child: Board.buildGameBoard(myProvider, boardWidth),
),
SizedBox(height: 2),
Container(
child: gameIsFinished ? Game.buildEndGameMessage(myProvider) : SizedBox(height: 2),
),
],
),
);
}
static Widget buildTopIndicatorWidget(Data myProvider) {
return Table(
children: [
TableRow(
children: [
Column(
children: [
Text(
myProvider.score.toString(),
style: TextStyle(
fontSize: 40,
fontWeight: FontWeight.w600,
color: Colors.black,
),
),
Text(
myProvider.movesCount.toString(),
style: TextStyle(
fontSize: 15,
fontWeight: FontWeight.w600,
color: Colors.grey,
),
),
],
),
Column(
children: [
Text(
myProvider.availableBlocksCount.toString(),
style: TextStyle(
fontSize: 20,
fontWeight: FontWeight.w600,
color: Colors.green,
),
),
],
),
],
),
],
);