diff --git a/android/gradle.properties b/android/gradle.properties index ed86f0f26922ea79f4d0c8e0e84f6d74259952bb..3487476dc637023e34426ce50caf3343f91e3038 100644 --- a/android/gradle.properties +++ b/android/gradle.properties @@ -1,5 +1,5 @@ org.gradle.jvmargs=-Xmx1536M android.useAndroidX=true android.enableJetifier=true -app.versionName=0.0.22 -app.versionCode=22 +app.versionName=0.0.23 +app.versionCode=23 diff --git a/lib/provider/data.dart b/lib/provider/data.dart index 3d71898e68d70db200cb86c619249a57d9b01edc..131da8de3011a728466ab4f08ff98f9cecde4977 100644 --- a/lib/provider/data.dart +++ b/lib/provider/data.dart @@ -7,6 +7,11 @@ class Data extends ChangeNotifier { List _otherWords = []; List _images = []; + // game data + int _questionsCount = 0; + int _goodAnswers = 0; + int _wrongAnswers = 0; + String get word => _word; set updateWord(String value) { @@ -32,6 +37,30 @@ class Data extends ChangeNotifier { _word = ''; _otherWords = []; _images = []; + _questionsCount = 0; + _goodAnswers = 0; + _wrongAnswers = 0; + notifyListeners(); + } + + int get questionsCount => _questionsCount; + + set updateQuestionsCount(int value) { + _questionsCount = value; + notifyListeners(); + } + + int get goodAnswers => _goodAnswers; + + set updateGoodAnswers(int value) { + _goodAnswers = value; + notifyListeners(); + } + + int get wrongAnswers => _wrongAnswers; + + set updateWrongAnswers(int value) { + _wrongAnswers = value; notifyListeners(); } } diff --git a/lib/screens/game_pick_word.dart b/lib/screens/game_pick_word.dart index 297404e17cee68e523026f42b13660a6b7eec0e0..ebafbfd0d014fad8ff0cbbd12247f3986f9a2112 100644 --- a/lib/screens/game_pick_word.dart +++ b/lib/screens/game_pick_word.dart @@ -9,11 +9,15 @@ class GamePickWordPage extends StatelessWidget { int _count = 4; Future<void> startGame(BuildContext context, Data myProvider) async { - await pickData(context, myProvider); + myProvider.updateQuestionsCount = 0; + myProvider.updateGoodAnswers = 0; + myProvider.updateWrongAnswers = 0; + await nextWord(context, myProvider); } Future<void> nextWord(BuildContext context, Data myProvider) async { await pickData(context, myProvider); + myProvider.updateQuestionsCount = myProvider.questionsCount + 1; } Future<void> pickData(BuildContext context, Data myProvider) async { @@ -54,10 +58,35 @@ class GamePickWordPage extends StatelessWidget { Future<void> checkWord(BuildContext context, Data myProvider, word) async { if (myProvider.word == word) { + myProvider.updateGoodAnswers = myProvider.goodAnswers + 1; nextWord(context, myProvider); + } else { + myProvider.updateWrongAnswers = myProvider.wrongAnswers + 1; } } + Container _buildScoreContainer(BuildContext context, Data myProvider) { + String score = '' + + 'β ' + myProvider.questionsCount.toString() + + ' - ' + + 'βΊοΈ ' + myProvider.goodAnswers.toString() + + ' - ' + + 'π ' + myProvider.wrongAnswers.toString() + ; + + return Container( + padding: EdgeInsets.all(5), + child: Text( + score, + style: TextStyle( + fontSize: 20, + fontWeight: FontWeight.w400, + color: Colors.black, + ), + ), + ); + } + Container _buildImageContainer(String image, Color color) { String imageAsset = 'assets/placeholder.png'; if (image != null) { @@ -136,7 +165,7 @@ class GamePickWordPage extends StatelessWidget { otherWords.length > 2 ? otherWords[2] : null, ]; - words.shuffle(); + words.sort(); return Column( mainAxisSize: MainAxisSize.min, @@ -205,9 +234,11 @@ class GamePickWordPage extends StatelessWidget { mainAxisSize: MainAxisSize.max, children: <Widget>[ _buildImageItemsBlock(_myProvider.images), + SizedBox(height: 5), + _buildScoreContainer(context, _myProvider), ((_myProvider.word == null) || (_myProvider.word == '')) ? _buildStartGameButton(context, _myProvider) : - SizedBox(height: 15), + SizedBox(height: 5), _buildTextItemsBlock(context, _myProvider, _myProvider.word, _myProvider.otherWords), ], ),