Select Git revision
-
Benoît Harrault authoredBenoît Harrault authored
game_pick_word.dart 5.19 KiB
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import '../provider/data.dart';
import '../utils/random_pick_word.dart';
import '../utils/get_image_from_word.dart';
class GamePickWordPage extends StatelessWidget {
int _count = 4;
Future<void> startGame(BuildContext context, Data myProvider) async {
await pickWord(context, myProvider);
await pickImage(context, myProvider, myProvider.word);
}
Future<void> pickWord(BuildContext context, Data myProvider) async {
List words;
RandomPickWord randomPickWord;
int attempts = 0;
do {
randomPickWord = RandomPickWord();
await randomPickWord.init(_count);
if (randomPickWord.words != null) {
words = randomPickWord.words;
break;
}
attempts++;
} while (attempts < 3);
if ((words != null) && (words.length == _count)) {
myProvider.updateWord = words.take(1).toList()[0];
myProvider.updateOtherWords = words.skip(1).toList();
}
}
Future<void> pickImage(BuildContext context, Data myProvider, String word) async {
List images;
RandomPickImage randomPickImage;
int attempts = 0;
do {
randomPickImage = RandomPickImage();
await randomPickImage.init(word, _count);
if (randomPickImage.images != null) {
images = randomPickImage.images;
break;
}
attempts++;
} while (attempts < 3);
if ((images != null) && (images.length == _count)) {
myProvider.updateImages = images;
}
}
Container _buildImageContainer(String image, Color color) {
String imageAsset = 'assets/placeholder.png';
if (image != null) {
imageAsset = 'assets/images/'+image;
}
return Container(
padding: EdgeInsets.all(5),
child: FlatButton(
color: Colors.teal,
child: Image(image: AssetImage(imageAsset)),
),
);
}