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
android.useAndroidX=true
android.enableJetifier=true
app.versionName=0.0.40
app.versionCode=40
app.versionName=0.0.41
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 {
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];
......
......@@ -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;
......
......@@ -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);
}
......
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