Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
org.benoitharrault.colors
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
GitLab community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
android
org.benoitharrault.colors
Commits
5dbd1fe4
Commit
5dbd1fe4
authored
3 years ago
by
Benoît Harrault
Browse files
Options
Downloads
Patches
Plain Diff
Split level setting into board size and colors counts settings
parent
0623bcd3
No related branches found
No related tags found
1 merge request
!8
Resolve "Separate "level" parameter into "board size" and "colors count""
Pipeline
#2745
passed
3 years ago
Stage: update
Stage: build-debug
Changes
23
Pipelines
1
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
lib/provider/data.dart
+76
-44
76 additions, 44 deletions
lib/provider/data.dart
lib/utils/board_utils.dart
+1
-1
1 addition, 1 deletion
lib/utils/board_utils.dart
lib/utils/game_utils.dart
+1
-1
1 addition, 1 deletion
lib/utils/game_utils.dart
with
78 additions
and
46 deletions
lib/provider/data.dart
+
76
−
44
View file @
5dbd1fe4
...
...
@@ -5,16 +5,30 @@ class Data extends ChangeNotifier {
// Configuration available values
List
_availableLevelValues
=
[
'easy'
,
'medium'
,
'hard'
,
'nightmare'
];
List
_availableSizeValues
=
[
'small'
,
'medium'
,
'large'
,
'extra'
];
List
_availableColorsValues
=
[
'5'
,
'6'
,
'7'
,
'8'
];
List
_availableSkinValues
=
[
'default'
,
'retro'
,
'symbols'
];
List
get
availableLevelValues
=
>
_availableLevelValues
;
List
get
availableSizeValues
=
>
_availableSizeValues
;
List
get
availableColorsValues
=
>
_availableColorsValues
;
List
get
availableSkinValues
=
>
_availableSkinValues
;
// Application default configuration
String
_level
=
''
;
String
_levelDefault
=
'medium'
;
String
_skin
=
''
;
String
_skinDefault
=
'default'
;
String
_parameterLevel
=
''
;
String
_parameterLevelDefault
=
'medium'
;
String
_parameterSize
=
''
;
String
_parameterSizeDefault
=
'medium'
;
String
_parameterColors
=
''
;
String
_parameterColorsDefault
=
'6'
;
String
_parameterSkin
=
''
;
String
_parameterSkinDefault
=
'default'
;
// Application current configuration
String
get
parameterLevel
=
>
_parameterLevel
;
String
get
parameterSize
=
>
_parameterSize
;
String
get
parameterColors
=
>
_parameterColors
;
String
get
parameterSkin
=
>
_parameterSkin
;
// Game data
bool
_gameIsRunning
=
false
;
...
...
@@ -29,27 +43,35 @@ class Data extends ChangeNotifier {
int
_progressTotal
=
0
;
int
_progressDelta
=
0
;
String
get
level
=
>
_level
;
void
updateLevel
(
String
level
)
{
_level
=
level
;
updateBoardSize
(
getBoardSizeFromLevel
(
level
));
updateColorsCount
(
getColorsCountFromLevel
(
level
));
void
updateParameterLevel
(
String
parameterLevel
)
{
_parameterLevel
=
parameterLevel
;
notifyListeners
();
}
String
get
skin
=
>
_skin
;
void
updateSkin
(
String
skin
)
{
_skin
=
skin
;
void
updateParameterSize
(
String
parameterSize
)
{
_parameterSize
=
parameterSize
;
updateBoardSize
(
getBoardSizeFromParameter
(
parameterSize
));
notifyListeners
();
}
void
updateParameterColors
(
String
parameterColors
)
{
_parameterColors
=
parameterColors
;
updateColorsCount
(
getColorsCountFromParameter
(
parameterColors
));
notifyListeners
();
}
void
updateParameterSkin
(
String
parameterSkin
)
{
_parameterSkin
=
parameterSkin
;
notifyListeners
();
}
getParameterValue
(
String
parameterCode
)
{
switch
(
parameterCode
)
{
case
'level'
:
{
return
_level
;
}
case
'level'
:
{
return
_parameterLevel
;
}
break
;
case
'size'
:
{
return
_parameterSize
;
}
break
;
case
'skin'
:
{
return
_skin
;
}
case
'colors'
:
{
return
_parameterColors
;
}
break
;
case
'skin'
:
{
return
_parameterSkin
;
}
break
;
}
return
''
;
...
...
@@ -59,6 +81,10 @@ class Data extends ChangeNotifier {
switch
(
parameterCode
)
{
case
'level'
:
{
return
_availableLevelValues
;
}
break
;
case
'size'
:
{
return
_availableSizeValues
;
}
break
;
case
'colors'
:
{
return
_availableColorsValues
;
}
break
;
case
'skin'
:
{
return
_availableSkinValues
;
}
break
;
}
...
...
@@ -67,9 +93,13 @@ class Data extends ChangeNotifier {
setParameterValue
(
String
parameterCode
,
String
parameterValue
)
async
{
switch
(
parameterCode
)
{
case
'level'
:
{
updateLevel
(
parameterValue
);
}
case
'level'
:
{
updateParameterLevel
(
parameterValue
);
}
break
;
case
'size'
:
{
updateParameterSize
(
parameterValue
);
}
break
;
case
'skin'
:
{
updateSkin
(
parameterValue
);
}
case
'colors'
:
{
updateParameterColors
(
parameterValue
);
}
break
;
case
'skin'
:
{
updateParameterSkin
(
parameterValue
);
}
break
;
}
final
prefs
=
await
SharedPreferences
.
getInstance
();
...
...
@@ -78,47 +108,49 @@ class Data extends ChangeNotifier {
void
initParametersValues
()
async
{
final
prefs
=
await
SharedPreferences
.
getInstance
();
setParameterValue
(
'level'
,
prefs
.
getString
(
'level'
)
??
_levelDefault
);
setParameterValue
(
'skin'
,
prefs
.
getString
(
'skin'
)
??
_skinDefault
);
}
int
get
boardSize
=
>
_boardSize
;
void
updateBoardSize
(
int
boardSize
)
{
_boardSize
=
boardSize
;
_progressTotal
=
boardSize
*
boardSize
;
setParameterValue
(
'level'
,
prefs
.
getString
(
'level'
)
??
_parameterLevelDefault
);
setParameterValue
(
'size'
,
prefs
.
getString
(
'size'
)
??
_parameterSizeDefault
);
setParameterValue
(
'colors'
,
prefs
.
getString
(
'colors'
)
??
_parameterColorsDefault
);
setParameterValue
(
'skin'
,
prefs
.
getString
(
'skin'
)
??
_parameterSkinDefault
);
}
int
get
colorsCount
=
>
_colorsCount
;
void
updateColorsCount
(
int
colorsCount
)
{
_colorsCount
=
colorsCount
;
}
int
getBoardSizeFromLevel
(
String
level
)
{
switch
(
level
)
{
case
'easy'
:
{
return
6
;
}
int
getBoardSizeFromParameter
(
String
parameterSize
)
{
switch
(
parameterSize
)
{
case
'small'
:
{
return
6
;
}
break
;
case
'medium'
:
{
return
10
;
}
break
;
case
'
h
ar
d
'
:
{
return
14
;
}
case
'
l
ar
ge
'
:
{
return
14
;
}
break
;
case
'
nightmare
'
:
{
return
20
;
}
case
'
extra
'
:
{
return
20
;
}
break
;
}
return
8
;
return
getBoardSizeFromParameter
(
_parameterSizeDefault
)
;
}
int
getColorsCountFrom
Level
(
String
level
)
{
switch
(
level
)
{
case
'
easy
'
:
{
return
4
;
}
int
getColorsCountFrom
Parameter
(
String
parameterColors
)
{
switch
(
parameterColors
)
{
case
'
5
'
:
{
return
5
;
}
break
;
case
'
medium
'
:
{
return
5
;
}
case
'
6
'
:
{
return
6
;
}
break
;
case
'
hard
'
:
{
return
6
;
}
case
'
7
'
:
{
return
7
;
}
break
;
case
'
nightmare
'
:
{
return
7
;
}
case
'
8
'
:
{
return
8
;
}
break
;
}
return
4
;
return
getColorsCountFromParameter
(
_parameterColorsDefault
);
}
int
get
boardSize
=
>
_boardSize
;
void
updateBoardSize
(
int
boardSize
)
{
_boardSize
=
boardSize
;
_progressTotal
=
boardSize
*
boardSize
;
}
int
get
colorsCount
=
>
_colorsCount
;
void
updateColorsCount
(
int
colorsCount
)
{
_colorsCount
=
colorsCount
;
}
List
get
cells
=
>
_cells
;
...
...
This diff is collapsed.
Click to expand it.
lib/utils/board_utils.dart
+
1
−
1
View file @
5dbd1fe4
...
...
@@ -6,7 +6,7 @@ import '../provider/data.dart';
class
BoardUtils
{
static
printGrid
(
List
cells
)
{
String
stringValues
=
'01234567'
;
String
stringValues
=
'01234567
8
'
;
print
(
''
);
print
(
'-------'
);
for
(
var
rowIndex
=
0
;
rowIndex
<
cells
.
length
;
rowIndex
++
)
{
...
...
This diff is collapsed.
Click to expand it.
lib/utils/game_utils.dart
+
1
−
1
View file @
5dbd1fe4
...
...
@@ -9,7 +9,7 @@ class GameUtils {
static
Future
<
void
>
startGame
(
Data
myProvider
)
async
{
print
(
'Starting game'
);
print
(
'- level: '
+
myProvider
.
l
evel
);
print
(
'- level: '
+
myProvider
.
parameterL
evel
);
print
(
'- size: '
+
myProvider
.
boardSize
.
toString
());
print
(
'- colors: '
+
myProvider
.
colorsCount
.
toString
());
...
...
This diff is collapsed.
Click to expand it.
Prev
1
2
Next
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment