Skip to content
Snippets Groups Projects
Select Git revision
  • bd69248910782339666ad15c36bec3fb2e3602e5
  • master default protected
  • 100-upgrade-framework-and-dependencies
  • 65-improve-app-metadata
  • Release_1.8.0_80 protected
  • Release_1.7.2_79 protected
  • Release_1.7.1_78 protected
  • Release_1.7.0_77 protected
  • Release_1.6.0_76 protected
  • Release_1.5.0_75 protected
  • Release_1.4.0_74 protected
  • Release_1.3.2_73 protected
  • Release_1.3.1_72 protected
  • Release_1.3.0_71 protected
  • Release_1.2.1_70 protected
  • Release_1.2.0_69 protected
  • Release_1.1.3_68 protected
  • Release_1.1.2_67 protected
  • Release_1.1.1_66 protected
  • Release_1.1.0_65 protected
  • Release_1.0.63_64 protected
  • Release_1.0.62_63 protected
  • Release_1.0.61_62 protected
  • Release_1.0.60_61 protected
24 results

Runner.xcscheme

Blame
  • game.dart 3.53 KiB
    import 'package:flutter/material.dart';
    
    import '../layout/board.dart';
    import '../provider/data.dart';
    import '../utils/board_utils.dart';
    import '../utils/game_utils.dart';
    
    class Game {
    
      static Container buildGameWidget(Data myProvider) {
        bool gameIsFinished = myProvider.gameWin || myProvider.gameFail;
    
        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),
              ),
              SizedBox(height: 2),
              Container(
                child: gameIsFinished
                  ? Game.buildEndGameMessage(myProvider)
                  : Board.buildToggleFlagModeLayout(myProvider),
              ),
              SizedBox(height: 8),
            ],
          ),
        );
      }
    
      static Widget buildTopIndicatorWidget(Data myProvider) {
        int flaggedCellsCount = BoardUtils.countFlaggedCells(myProvider.cells);
        int minesCount = myProvider.minesCount;
        double blockSize = 40;
    
        Image flagIconBlock = Image(
          image: AssetImage('assets/skins/' + myProvider.parameterSkin + '_tile_flag.png'),
          fit: BoxFit.fill,
          height: blockSize,
          width: blockSize,
        );
        Image mineIconBlock = Image(
          image: AssetImage('assets/skins/' + myProvider.parameterSkin + '_tile_mine.png'),
          fit: BoxFit.fill,
          height: blockSize,
          width: blockSize,
        );
        Text markedMinesCountBlock = Text(
          flaggedCellsCount.toString(),
          style: TextStyle(
            fontSize: blockSize,
            fontWeight: FontWeight.bold,
            color: Colors.black
          ),
        );
        Text placedMinesCountBlock = Text(
          minesCount.toString(),
          style: TextStyle(
            fontSize: blockSize,
            fontWeight: FontWeight.bold,
            color: Colors.black
          ),
        );
    
        return Column(