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

Merge branch '41-add-a-tips-count-on-game' into 'master'

Resolve "Add a tips count on game"

Closes #41

See merge request !36
parents 81234494 6d0645ca
No related branches found
No related tags found
1 merge request!36Resolve "Add a tips count on game"
Pipeline #1765 canceled
org.gradle.jvmargs=-Xmx1536M org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=true android.useAndroidX=true
android.enableJetifier=true android.enableJetifier=true
app.versionName=0.0.36 app.versionName=0.0.37
app.versionCode=36 app.versionCode=37
Add a tips counter on game
Ajout d'un compteur de coups de pouce
...@@ -25,6 +25,7 @@ class Data extends ChangeNotifier { ...@@ -25,6 +25,7 @@ class Data extends ChangeNotifier {
int _currentCellCol = null; int _currentCellCol = null;
int _currentCellRow = null; int _currentCellRow = null;
int _currentCellValue = null; int _currentCellValue = null;
int _givenTipsCount = 0;
String get level => _level; String get level => _level;
set updateLevel(String level) { set updateLevel(String level) {
...@@ -111,6 +112,16 @@ class Data extends ChangeNotifier { ...@@ -111,6 +112,16 @@ class Data extends ChangeNotifier {
notifyListeners(); notifyListeners();
} }
int get givenTipsCount => _givenTipsCount;
increaseGivenTipsCount() {
_givenTipsCount = _givenTipsCount + 1;
notifyListeners();
}
resetGivenTipsCount() {
_givenTipsCount = 0;
notifyListeners();
}
selectCell(int col, int row) { selectCell(int col, int row) {
_currentCellCol = col; _currentCellCol = col;
_currentCellRow = row; _currentCellRow = row;
......
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:badges/badges.dart';
import '../layout/game.dart'; import '../layout/game.dart';
import '../layout/parameters.dart'; import '../layout/parameters.dart';
...@@ -27,10 +28,25 @@ class Home extends StatelessWidget { ...@@ -27,10 +28,25 @@ class Home extends StatelessWidget {
), ),
), ),
margin: EdgeInsets.all(8), margin: EdgeInsets.all(8),
child: Badge(
showBadge: myProvider.givenTipsCount == 0 ? false : true,
badgeColor:
myProvider.givenTipsCount < 10
? Colors.green
: myProvider.givenTipsCount < 20
? Colors.orange
: Colors.red,
badgeContent: Text(
myProvider.givenTipsCount == 0 ? '' : myProvider.givenTipsCount.toString(),
style: TextStyle(
color: Colors.white
)
),
child: Image( child: Image(
image: AssetImage('assets/icons/button_help.png'), image: AssetImage('assets/icons/button_help.png'),
fit: BoxFit.fill fit: BoxFit.fill
), ),
)
), ),
onPressed: () => GameUtils.showTip(myProvider), onPressed: () => GameUtils.showTip(myProvider),
), ),
......
...@@ -11,6 +11,7 @@ class GameUtils { ...@@ -11,6 +11,7 @@ class GameUtils {
static Future<void> startGame(Data myProvider) async { static Future<void> startGame(Data myProvider) async {
myProvider.updateSize = myProvider.size; myProvider.updateSize = myProvider.size;
myProvider.updateStateRunning = true; myProvider.updateStateRunning = true;
myProvider.resetGivenTipsCount();
myProvider.updateCells = BoardUtils.createEmptyBoard(myProvider.blockSizeHorizontal * myProvider.blockSizeVertical); myProvider.updateCells = BoardUtils.createEmptyBoard(myProvider.blockSizeHorizontal * myProvider.blockSizeVertical);
BoardUtils.pickGrid(myProvider); BoardUtils.pickGrid(myProvider);
} }
...@@ -23,6 +24,7 @@ class GameUtils { ...@@ -23,6 +24,7 @@ class GameUtils {
// currently selected cell -> set value // currently selected cell -> set value
GameUtils.helpFillCell(myProvider); GameUtils.helpFillCell(myProvider);
} }
myProvider.increaseGivenTipsCount();
} }
static void helpSelectCell(Data myProvider) { static void helpSelectCell(Data myProvider) {
......
...@@ -8,6 +8,13 @@ packages: ...@@ -8,6 +8,13 @@ packages:
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.7.0" version: "2.7.0"
badges:
dependency: "direct main"
description:
name: badges
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.1"
boolean_selector: boolean_selector:
dependency: transitive dependency: transitive
description: description:
......
...@@ -10,6 +10,7 @@ dependencies: ...@@ -10,6 +10,7 @@ dependencies:
flutter: flutter:
sdk: flutter sdk: flutter
provider: ^5.0.0 provider: ^5.0.0
badges: ^2.0.1
dev_dependencies: dev_dependencies:
flutter_test: flutter_test:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment