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

Improve randomization of values for images skin themes

parent 7e513124
No related branches found
No related tags found
1 merge request!41Resolve "Improve randomization on images skins"
Pipeline #1840 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.
Finish editing this message first!
Please register or to comment