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

Merge branch '3-improve-end-game-detection' into 'master'

Resolve "Improve end game detection"

Closes #3

See merge request !3
parents bd3ca3b2 edee7a88
No related branches found
No related tags found
1 merge request!3Resolve "Improve end game detection"
Pipeline #2580 passed
org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=true
android.enableJetifier=true
app.versionName=0.0.4
app.versionCode=4
app.versionName=0.0.5
app.versionCode=5
assets/icons/game_fail.png

3.54 KiB

......@@ -58,6 +58,7 @@ function build_icon_for_skin() {
build_icon ${CURRENT_DIR}/button_back.svg ${BASE_DIR}/assets/icons/button_back.png
build_icon ${CURRENT_DIR}/button_help.svg ${BASE_DIR}/assets/icons/button_help.png
build_icon ${CURRENT_DIR}/button_start.svg ${BASE_DIR}/assets/icons/button_start.png
build_icon ${CURRENT_DIR}/game_fail.svg ${BASE_DIR}/assets/icons/game_fail.png
build_icon ${CURRENT_DIR}/game_win.svg ${BASE_DIR}/assets/icons/game_win.png
build_icon ${CURRENT_DIR}/key.svg ${BASE_DIR}/assets/icons/key.png
......
<?xml version="1.0" encoding="UTF-8"?>
<svg enable-background="new 0 0 100 100" version="1.1" viewBox="0 0 93.665 93.676" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><rect x=".44662" y=".89101" width="92.772" height="91.894" ry="11.689" fill="#d11717" stroke="#fff" stroke-width=".238"/><path d="m71.624 59.304c3.5089 3.5089 3.5089 9.0561 0 12.565-1.6976 1.6976-3.9623 2.6034-6.2261 2.6034s-4.5275-0.90569-6.2261-2.6034l-12.452-12.452-12.452 12.452c-1.6976 1.6976-3.9623 2.6034-6.2261 2.6034s-4.5275-0.90569-6.2261-2.6034c-3.5089-3.5089-3.5089-9.0561 0-12.565l12.452-12.452-12.452-12.452c-3.5089-3.5089-3.5089-9.0561 0-12.565s9.0561-3.5089 12.565 0l12.452 12.452 12.452-12.452c3.5089-3.5089 9.0561-3.5089 12.565 0s3.5089 9.0561 0 12.565l-12.452 12.452z" fill="#e7e7e7" stroke-width=".20213"/></svg>
......@@ -10,7 +10,7 @@ import '../utils/game_utils.dart';
class Game {
static Container buildGameWidget(Data myProvider) {
bool gameIsFinished = GameUtils.isGameFinished(myProvider);
bool gameIsFinished = myProvider.isGameFinished();
return Container(
child: Column(
......@@ -27,8 +27,8 @@ class Game {
);
}
static TextButton buildRestartGameButton(Data myProvider) {
return TextButton(
static FlatButton buildRestartGameButton(Data myProvider) {
return FlatButton(
child: Container(
child: Image(
image: AssetImage('assets/icons/button_back.png'),
......@@ -40,10 +40,15 @@ class Game {
}
static Container buildEndGameMessage(Data myProvider) {
String decorationImageAssetName = '';
if (myProvider.gameWon) {
decorationImageAssetName = 'assets/icons/game_win.png';
} else {
decorationImageAssetName = 'assets/icons/game_fail.png';
}
Image decorationImage = Image(
image: AssetImage(
'assets/icons/game_win.png'
),
image: AssetImage(decorationImageAssetName),
fit: BoxFit.fill
);
......
......@@ -48,7 +48,7 @@ class Parameters {
decorationImage,
Column(
children: [
TextButton(
FlatButton(
child: Container(
child: Image(
image: AssetImage('assets/icons/button_start.png'),
......
......@@ -26,6 +26,7 @@ class Data extends ChangeNotifier {
// Game data
bool _gameIsRunning = false;
bool _foundWord = false;
String _word = '';
final int _recentWordsCount = 20;
List _recentWords = [];
......@@ -79,6 +80,7 @@ class Data extends ChangeNotifier {
print('wrong');
} else {
print('ok found');
_foundWord = true;
}
addGuess(_currentGuess);
notifyListeners();
......@@ -95,6 +97,8 @@ class Data extends ChangeNotifier {
_currentGuess = '';
}
bool get gameWon => _foundWord;
getParameterValue(String parameterCode) {
switch(parameterCode) {
case 'lang': { return _lang; }
......@@ -151,6 +155,16 @@ class Data extends ChangeNotifier {
notifyListeners();
}
bool isGameFinished() {
print('isGameFinished');
if (_foundWord || (_guesses.length > (_maxGuessesCount - 1))) {
return true;
}
return false;
}
String get word => _word;
void updateWord(String word) {
......@@ -170,6 +184,7 @@ class Data extends ChangeNotifier {
_word = '';
_guesses = [];
_currentGuess = '';
_foundWord = false;
notifyListeners();
}
......
......@@ -31,7 +31,7 @@ class _HomeState extends State<Home> {
if (myProvider.gameIsRunning) {
menuActions = [
TextButton(
FlatButton(
child: Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(4),
......
......@@ -125,15 +125,4 @@ class GameUtils {
return RandomPickWord.checkWordExists(guessedWord);
}
static bool isGameFinished(Data myProvider) {
print('isGameFinished');
if (myProvider.guesses.length > 0) {
if (myProvider.guesses[myProvider.guesses.length - 1] == myProvider.word) {
return true;
}
}
return false;
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment