Skip to content
Snippets Groups Projects
Commit 756e8021 authored by Benoît Harrault's avatar Benoît Harrault
Browse files

Merge branch '40-improve-randomization-on-images-skins' into 'master'

Resolve "Improve randomization on images skins"

Closes #40

See merge request !41
parents 7e513124 825d876c
No related branches found
No related tags found
1 merge request!41Resolve "Improve randomization on images skins"
Pipeline #1892 passed
org.gradle.jvmargs=-Xmx1536M org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=true android.useAndroidX=true
android.enableJetifier=true android.enableJetifier=true
app.versionName=0.0.40 app.versionName=0.0.41
app.versionCode=40 app.versionCode=41
Improve randomization of values for images skin themes
Mélange les valeurs parmi toutes les images des thèmes avec images
...@@ -20,7 +20,8 @@ class Cell { ...@@ -20,7 +20,8 @@ class Cell {
Container widget(Data myProvider, Border borders, int row, int col) { Container widget(Data myProvider, Border borders, int row, int col) {
String imageAsset = 'assets/skins/empty.png'; String imageAsset = 'assets/skins/empty.png';
if (this.value > 0) { 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( return Container(
...@@ -86,7 +87,8 @@ class Cell { ...@@ -86,7 +87,8 @@ class Cell {
String imageAsset = 'assets/skins/empty.png'; String imageAsset = 'assets/skins/empty.png';
if (this.value > 0) { 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]; Color backgroundColor = Colors.grey[200];
......
...@@ -7,6 +7,7 @@ class Data extends ChangeNotifier { ...@@ -7,6 +7,7 @@ class Data extends ChangeNotifier {
List _availableDifficultyLevels = ['easy', 'medium', 'hard', 'nightmare']; List _availableDifficultyLevels = ['easy', 'medium', 'hard', 'nightmare'];
List _availableSizes = ['2x2', '3x2', '3x3', '4x4']; List _availableSizes = ['2x2', '3x2', '3x3', '4x4'];
List _availableSkins = ['default', 'food', 'nature', 'monsters']; List _availableSkins = ['default', 'food', 'nature', 'monsters'];
List _shufflableSkins = ['food', 'nature', 'monsters'];
List get availableDifficultyLevels => _availableDifficultyLevels; List get availableDifficultyLevels => _availableDifficultyLevels;
List get availableSizes => _availableSizes; List get availableSizes => _availableSizes;
...@@ -31,6 +32,7 @@ class Data extends ChangeNotifier { ...@@ -31,6 +32,7 @@ class Data extends ChangeNotifier {
int _currentCellRow = null; int _currentCellRow = null;
int _currentCellValue = null; int _currentCellValue = null;
int _givenTipsCount = 0; int _givenTipsCount = 0;
List _shuffledCellValues = [];
String get level => _level; String get level => _level;
set updateLevel(String level) { set updateLevel(String level) {
...@@ -113,6 +115,21 @@ class Data extends ChangeNotifier { ...@@ -113,6 +115,21 @@ class Data extends ChangeNotifier {
_cellsSolved = cells; _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; int get currentCellCol => _currentCellCol;
set updateCurrentCellCol(int currentCellCol) { set updateCurrentCellCol(int currentCellCol) {
_currentCellCol = currentCellCol; _currentCellCol = currentCellCol;
......
...@@ -12,6 +12,7 @@ class GameUtils { ...@@ -12,6 +12,7 @@ class GameUtils {
myProvider.updateSize = myProvider.size; myProvider.updateSize = myProvider.size;
myProvider.updateStateRunning = true; myProvider.updateStateRunning = true;
myProvider.resetGivenTipsCount(); myProvider.resetGivenTipsCount();
myProvider.shuffleCellValues();
myProvider.updateCells = BoardUtils.createEmptyBoard(myProvider.blockSizeHorizontal * myProvider.blockSizeVertical); myProvider.updateCells = BoardUtils.createEmptyBoard(myProvider.blockSizeHorizontal * myProvider.blockSizeVertical);
BoardUtils.pickGrid(myProvider); BoardUtils.pickGrid(myProvider);
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment