From 825d876cf72ece860ccf7500360c36d509fc1439 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Harrault?= <benoit@harrault.fr> Date: Sat, 24 Jul 2021 22:18:24 +0200 Subject: [PATCH] Improve randomization of values for images skin themes --- android/gradle.properties | 4 ++-- .../metadata/android/en-US/changelogs/41.txt | 1 + .../metadata/android/fr-FR/changelogs/41.txt | 1 + lib/entities/cell.dart | 6 ++++-- lib/provider/data.dart | 17 +++++++++++++++++ lib/utils/game_utils.dart | 1 + 6 files changed, 26 insertions(+), 4 deletions(-) create mode 100644 fastlane/metadata/android/en-US/changelogs/41.txt create mode 100644 fastlane/metadata/android/fr-FR/changelogs/41.txt diff --git a/android/gradle.properties b/android/gradle.properties index 4d8dcd2..62205f4 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.40 -app.versionCode=40 +app.versionName=0.0.41 +app.versionCode=41 diff --git a/fastlane/metadata/android/en-US/changelogs/41.txt b/fastlane/metadata/android/en-US/changelogs/41.txt new file mode 100644 index 0000000..b53e301 --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/41.txt @@ -0,0 +1 @@ +Improve randomization of values for images skin themes diff --git a/fastlane/metadata/android/fr-FR/changelogs/41.txt b/fastlane/metadata/android/fr-FR/changelogs/41.txt new file mode 100644 index 0000000..45176ca --- /dev/null +++ b/fastlane/metadata/android/fr-FR/changelogs/41.txt @@ -0,0 +1 @@ +Mélange les valeurs parmi toutes les images des thèmes avec images diff --git a/lib/entities/cell.dart b/lib/entities/cell.dart index a42ad6f..0cb2f97 100644 --- a/lib/entities/cell.dart +++ b/lib/entities/cell.dart @@ -20,7 +20,8 @@ class Cell { Container widget(Data myProvider, Border borders, int row, int col) { String imageAsset = 'assets/skins/empty.png'; if (this.value > 0) { - imageAsset = 'assets/skins/' + myProvider.skin + '_' + this.value.toString() + '.png'; + int cellValue = myProvider.getTranslatedValueForDisplay(this.value); + imageAsset = 'assets/skins/' + myProvider.skin + '_' + cellValue.toString() + '.png'; } return Container( @@ -86,7 +87,8 @@ class Cell { String imageAsset = 'assets/skins/empty.png'; if (this.value > 0) { - imageAsset = 'assets/skins/' + myProvider.skin + '_' + this.value.toString() + '.png'; + int cellValue = myProvider.getTranslatedValueForDisplay(this.value); + imageAsset = 'assets/skins/' + myProvider.skin + '_' + cellValue.toString() + '.png'; } Color backgroundColor = Colors.grey[200]; diff --git a/lib/provider/data.dart b/lib/provider/data.dart index 7889fcf..77e1bed 100644 --- a/lib/provider/data.dart +++ b/lib/provider/data.dart @@ -7,6 +7,7 @@ class Data extends ChangeNotifier { List _availableDifficultyLevels = ['easy', 'medium', 'hard', 'nightmare']; List _availableSizes = ['2x2', '3x2', '3x3', '4x4']; List _availableSkins = ['default', 'food', 'nature', 'monsters']; + List _shufflableSkins = ['food', 'nature', 'monsters']; List get availableDifficultyLevels => _availableDifficultyLevels; List get availableSizes => _availableSizes; @@ -31,6 +32,7 @@ class Data extends ChangeNotifier { int _currentCellRow = null; int _currentCellValue = null; int _givenTipsCount = 0; + List _shuffledCellValues = []; String get level => _level; set updateLevel(String level) { @@ -113,6 +115,21 @@ class Data extends ChangeNotifier { _cellsSolved = cells; } + void shuffleCellValues() { + int maxCellValue = 16; + List values = new List<int>.generate(maxCellValue, (i) => i + 1); + + if (_shufflableSkins.contains(_skin)) { + values.shuffle(); + print('Shuffled tiles values: ' + values.toString()); + } + + _shuffledCellValues = values; + } + int getTranslatedValueForDisplay(int originalValue) { + return _shuffledCellValues[originalValue - 1]; + } + int get currentCellCol => _currentCellCol; set updateCurrentCellCol(int currentCellCol) { _currentCellCol = currentCellCol; diff --git a/lib/utils/game_utils.dart b/lib/utils/game_utils.dart index 5b703a3..508c3d6 100644 --- a/lib/utils/game_utils.dart +++ b/lib/utils/game_utils.dart @@ -12,6 +12,7 @@ class GameUtils { myProvider.updateSize = myProvider.size; myProvider.updateStateRunning = true; myProvider.resetGivenTipsCount(); + myProvider.shuffleCellValues(); myProvider.updateCells = BoardUtils.createEmptyBoard(myProvider.blockSizeHorizontal * myProvider.blockSizeVertical); BoardUtils.pickGrid(myProvider); } -- GitLab