diff --git a/android/gradle.properties b/android/gradle.properties index d9abd55731010fe508f39321892e8002f10e79ef..663881258a10822c0b4abc064b6e0bc0ccf48833 100644 --- a/android/gradle.properties +++ b/android/gradle.properties @@ -1,5 +1,5 @@ org.gradle.jvmargs=-Xmx1536M android.useAndroidX=true android.enableJetifier=true -app.versionName=0.0.12 -app.versionCode=12 +app.versionName=0.0.13 +app.versionCode=13 diff --git a/lib/layout/game.dart b/lib/layout/game.dart index 558cde459b9ca233beabfdff4c0fd632bf9e34b1..1fd8e22ca39fc2624d60e5e7b31dee5813924fb6 100644 --- a/lib/layout/game.dart +++ b/lib/layout/game.dart @@ -41,6 +41,11 @@ class Game { progressIndicator += ' (+' + myProvider.progressDelta.toString() + ')'; } + Color maxMovesCountColor = Colors.grey; + if (myProvider.movesCount > myProvider.maxMovesCount) { + maxMovesCountColor = Colors.red; + } + return Table( children: [ TableRow( @@ -60,7 +65,7 @@ class Game { style: TextStyle( fontSize: 15, fontWeight: FontWeight.w600, - color: Colors.grey, + color: maxMovesCountColor, ), ), ] diff --git a/lib/layout/parameters.dart b/lib/layout/parameters.dart index c901d7b9de78bf8e5796eac4ef006d858ee46e38..30b9665db705c13e78444237e5b5dc94a181a7b9 100644 --- a/lib/layout/parameters.dart +++ b/lib/layout/parameters.dart @@ -13,8 +13,8 @@ class Parameters { mainAxisSize: MainAxisSize.min, mainAxisAlignment: MainAxisAlignment.center, children: [ - // Parameters.buildParameterSelector(myProvider, 'level'), - // SizedBox(height: 5), + Parameters.buildParameterSelector(myProvider, 'level'), + SizedBox(height: 5), Parameters.buildParameterSelector(myProvider, 'size'), SizedBox(height: 5), Parameters.buildParameterSelector(myProvider, 'colors'), diff --git a/lib/provider/data.dart b/lib/provider/data.dart index 07bbb174b55f2abd0cc369bdcb0e5971d24a2405..24178992c06361f75293dc948036de3051bd00b0 100644 --- a/lib/provider/data.dart +++ b/lib/provider/data.dart @@ -142,6 +142,20 @@ class Data extends ChangeNotifier { return getColorsCountFromParameter(_parameterColorsDefault); } + int getMovesCountLimitDeltaFromLevelParameter(String parameterLevel) { + switch(parameterLevel) { + case 'easy': { return 5; } + break; + case 'medium': { return 3; } + break; + case 'hard': { return 1; } + break; + case 'nightmare': { return -1; } + break; + } + return getMovesCountLimitDeltaFromLevelParameter(_parameterLevelDefault); + } + int get boardSize => _boardSize; void updateBoardSize(int boardSize) { _boardSize = boardSize; diff --git a/lib/utils/board_utils.dart b/lib/utils/board_utils.dart index 3f1ef2f96337c4d00c8efccc6802d13311c890ca..029cbed521f085ab4efd5c25442a161f0bd844c2 100644 --- a/lib/utils/board_utils.dart +++ b/lib/utils/board_utils.dart @@ -50,7 +50,10 @@ class BoardUtils { int boardSize = myProvider.boardSize; int colorsCount = myProvider.colorsCount; - return (30 * (boardSize * colorsCount) / (17 * 6)).round(); + int baseMaxMovesCount = (30 * (boardSize * colorsCount) / (17 * 6)).round(); + int deltaFromLevel = myProvider.getMovesCountLimitDeltaFromLevelParameter(myProvider.parameterLevel); + + return baseMaxMovesCount + deltaFromLevel; } static fillBoardFromFirstCell(Data myProvider, int value) {