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

Merge branch '6-improve-gameplay-add-moves-count-limit' into 'master'

Resolve "Improve gameplay, add moves count limit"

Closes #6

See merge request !5
parents 488287c9 60462ac4
No related branches found
No related tags found
1 merge request!5Resolve "Improve gameplay, add moves count limit"
Pipeline #2781 passed
org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=true
android.enableJetifier=true
app.versionName=0.0.12
app.versionCode=12
app.versionName=0.0.13
app.versionCode=13
......@@ -41,6 +41,11 @@ class Game {
progressIndicator += ' (+' + myProvider.progressDelta.toString() + ')';
}
Color maxMovesCountColor = Colors.grey;
if (myProvider.movesCount > myProvider.maxMovesCount) {
maxMovesCountColor = Colors.red;
}
return Table(
children: [
TableRow(
......@@ -60,7 +65,7 @@ class Game {
style: TextStyle(
fontSize: 15,
fontWeight: FontWeight.w600,
color: Colors.grey,
color: maxMovesCountColor,
),
),
]
......
......@@ -13,8 +13,8 @@ class Parameters {
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.center,
children: [
// Parameters.buildParameterSelector(myProvider, 'level'),
// SizedBox(height: 5),
Parameters.buildParameterSelector(myProvider, 'level'),
SizedBox(height: 5),
Parameters.buildParameterSelector(myProvider, 'size'),
SizedBox(height: 5),
Parameters.buildParameterSelector(myProvider, 'colors'),
......
......@@ -142,6 +142,20 @@ class Data extends ChangeNotifier {
return getColorsCountFromParameter(_parameterColorsDefault);
}
int getMovesCountLimitDeltaFromLevelParameter(String parameterLevel) {
switch(parameterLevel) {
case 'easy': { return 5; }
break;
case 'medium': { return 3; }
break;
case 'hard': { return 1; }
break;
case 'nightmare': { return -1; }
break;
}
return getMovesCountLimitDeltaFromLevelParameter(_parameterLevelDefault);
}
int get boardSize => _boardSize;
void updateBoardSize(int boardSize) {
_boardSize = boardSize;
......
......@@ -50,7 +50,10 @@ class BoardUtils {
int boardSize = myProvider.boardSize;
int colorsCount = myProvider.colorsCount;
return (30 * (boardSize * colorsCount) / (17 * 6)).round();
int baseMaxMovesCount = (30 * (boardSize * colorsCount) / (17 * 6)).round();
int deltaFromLevel = myProvider.getMovesCountLimitDeltaFromLevelParameter(myProvider.parameterLevel);
return baseMaxMovesCount + deltaFromLevel;
}
static fillBoardFromFirstCell(Data myProvider, int value) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment