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

Add a tips counter on game screen

parent 81234494
No related branches found
No related tags found
1 merge request!36Resolve "Add a tips count on game"
Pipeline #1755 passed
org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=true
android.enableJetifier=true
app.versionName=0.0.36
app.versionCode=36
app.versionName=0.0.37
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 {
int _currentCellCol = null;
int _currentCellRow = null;
int _currentCellValue = null;
int _givenTipsCount = 0;
String get level => _level;
set updateLevel(String level) {
......@@ -111,6 +112,16 @@ class Data extends ChangeNotifier {
notifyListeners();
}
int get givenTipsCount => _givenTipsCount;
increaseGivenTipsCount() {
_givenTipsCount = _givenTipsCount + 1;
notifyListeners();
}
resetGivenTipsCount() {
_givenTipsCount = 0;
notifyListeners();
}
selectCell(int col, int row) {
_currentCellCol = col;
_currentCellRow = row;
......
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:badges/badges.dart';
import '../layout/game.dart';
import '../layout/parameters.dart';
......@@ -27,10 +28,25 @@ class Home extends StatelessWidget {
),
),
margin: EdgeInsets.all(8),
child: Image(
image: AssetImage('assets/icons/button_help.png'),
fit: BoxFit.fill
),
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(
image: AssetImage('assets/icons/button_help.png'),
fit: BoxFit.fill
),
)
),
onPressed: () => GameUtils.showTip(myProvider),
),
......
......@@ -11,6 +11,7 @@ class GameUtils {
static Future<void> startGame(Data myProvider) async {
myProvider.updateSize = myProvider.size;
myProvider.updateStateRunning = true;
myProvider.resetGivenTipsCount();
myProvider.updateCells = BoardUtils.createEmptyBoard(myProvider.blockSizeHorizontal * myProvider.blockSizeVertical);
BoardUtils.pickGrid(myProvider);
}
......@@ -23,6 +24,7 @@ class GameUtils {
// currently selected cell -> set value
GameUtils.helpFillCell(myProvider);
}
myProvider.increaseGivenTipsCount();
}
static void helpSelectCell(Data myProvider) {
......
......@@ -8,6 +8,13 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "2.7.0"
badges:
dependency: "direct main"
description:
name: badges
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.1"
boolean_selector:
dependency: transitive
description:
......
......@@ -10,6 +10,7 @@ dependencies:
flutter:
sdk: flutter
provider: ^5.0.0
badges: ^2.0.1
dev_dependencies:
flutter_test:
......
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