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
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.
Please register or to comment