diff --git a/android/gradle.properties b/android/gradle.properties index aa51064abebb79ba519e600afb7af23779154d4e..135006f9c1386c8757595c43e890e911f732f5a3 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.5 -app.versionCode=5 +app.versionName=0.0.6 +app.versionCode=6 diff --git a/lib/provider/data.dart b/lib/provider/data.dart index 26ba51565a5338663d46e626c47259c3d6eb8915..7eae4e62c3b2b4f57a7921e7b0243dd0c6d24a1a 100644 --- a/lib/provider/data.dart +++ b/lib/provider/data.dart @@ -2,4 +2,26 @@ import 'package:flutter/foundation.dart'; class Data extends ChangeNotifier { + // randomization + bool _searchingWord = false; + String _word = ''; + + bool get searchingWord => _searchingWord; + + set searchingWord(bool value) { + _searchingWord = value; + notifyListeners(); + } + + String get word => _word; + + set updateWord(String value) { + _word = value; + notifyListeners(); + } + + void resetGame() { + _word = ''; + notifyListeners(); + } } diff --git a/lib/screens/game_pick_word.dart b/lib/screens/game_pick_word.dart index 270ca93dcbd1cf94469dea75b0b074efaf5ee650..eada604eba2065ba98b7c224ec09a9a1f7d1a572 100644 --- a/lib/screens/game_pick_word.dart +++ b/lib/screens/game_pick_word.dart @@ -1,8 +1,28 @@ -import 'dart:math'; - import 'package:flutter/material.dart'; +import 'package:provider/provider.dart'; + +import '../provider/data.dart'; +import '../utils/random_pick_word.dart'; class GamePickWordPage extends StatelessWidget { + String _randomWord = ''; + + Future<void> pickWord(BuildContext context, Data myProvider) async { + myProvider.searchingWord = true; + RandomPickWord randomPickWord; + int attempts = 0; + do { + randomPickWord = RandomPickWord(); + await randomPickWord.init(); + if (randomPickWord.word != null) { + myProvider.updateWord = randomPickWord.word; + myProvider.searchingWord = false; + break; + } + attempts++; + } while (attempts < 3); + } + Container _buildImageContainer(String word, Color color) { return Container( @@ -96,6 +116,8 @@ class GamePickWordPage extends StatelessWidget { @override Widget build(BuildContext context) { + Data _myProvider = Provider.of<Data>(context); + return Scaffold( appBar: AppBar( elevation: 0, @@ -108,7 +130,20 @@ class GamePickWordPage extends StatelessWidget { mainAxisSize: MainAxisSize.max, children: <Widget>[ _buildImageItemsBlock('🤖'), - _buildTextItemsBlock('robot'), + SizedBox(height: 20), + FlatButton( + onPressed: () => pickWord(context, _myProvider), + color: Colors.orange, + padding: EdgeInsets.all(10.0), + child: Row( + children: <Widget>[ + Icon(Icons.shuffle), + Text("Nouveau mot") + ], + ), + ), + SizedBox(height: 20), + _buildTextItemsBlock(_myProvider.word), ], ), ), diff --git a/pubspec.lock b/pubspec.lock index 48d7003cad6a290c024a0c80a4794a8720af3640..8e2014283c2c21f75c39d48abee2cb7316a2f876 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -141,7 +141,7 @@ packages: name: test_api url: "https://pub.dartlang.org" source: hosted - version: "0.2.19" + version: "0.3.0" typed_data: dependency: transitive description: @@ -157,5 +157,5 @@ packages: source: hosted version: "2.1.0" sdks: - dart: ">=2.12.0-0.0 <3.0.0" + dart: ">=2.12.0 <3.0.0" flutter: ">=1.16.0"