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

Merge branch '8-pick-random-word' into 'master'

Resolve "Pick random word"

Closes #8

See merge request android/wordguessing!7
parents 4d21dac2 7b875e44
No related branches found
No related tags found
1 merge request!7Resolve "Pick random word"
Pipeline #940 passed
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
......@@ -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();
}
}
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),
],
),
),
......
......@@ -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"
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment