diff --git a/assets/files/words-fr.json b/assets/files/words-fr.json new file mode 100644 index 0000000000000000000000000000000000000000..9fad5572227a0b7575d9de33b13c26300b66b999 --- /dev/null +++ b/assets/files/words-fr.json @@ -0,0 +1,99 @@ +{ + "words": [ + "ANACONDA", + "AUTRUCHE", + "BARRACUDA", + "BOUQUETIN", + "COCCINELLE", + "CROCODILE", + "DROMADAIRE", + "ELEPHANT", + "ESCARGOT", + "FOURMILIER", + "GRENOUILLE", + "HIPPOCAMPE", + "HIPPOPOTAME", + "KANGOUROU", + "LIBELLULE", + "PERROQUET", + "PIPISTRELLE", + "RHINOCEROS", + "SAUTERELLE", + "TARENTULE", + + "AUBERGINE", + "BETTERAVE", + "CITROUILLE", + "CONCOMBRE", + "FRAMBOISE", + "GROSEILLE", + "MANDARINE", + "MIRABELLE", + "MYRTILLE", + "PAMPLEMOUSSE", + + "ROUGE", + "BLEU", + "VERT", + "JAUNE", + "VIOLET", + "ORANGE", + "MARRON", + "NOIR", + "BLANC", + "TURQUOISE", + "BEIGE", + "ROSE", + + "PIVOINE", + "TULIPE", + "JONQUILLE", + "CACTUS", + + "GYMNASTIQUE", + "FOOTBALL", + "HANDBALL", + "COURSE", + "CYCLISME", + "RANDONNEE", + + "FROMAGE", + "PIZZA", + "SAUCISSON", + "JAMBON", + "SALAMI", + "PAELLA", + "PATES", + "SALADE", + "SOUPE", + "CHOCOLAT", + "OEUF", + "CREME", + "LAIT", + "CORNICHON", + "FLAN", + "TARTE", + "PUREE", + "SAUMON", + "SANDWICH", + + "VOITURE", + "MOTO", + "VELO", + "TRAIN", + "BATEAU", + "AVION", + "HELICOPTERE", + "AUTOBUS", + "CAR", + "TRAINEAU", + "FUSEE", + "VOILIER", + "PAQUEBOT", + "METRO", + "SOUS-MARIN", + "CAMION", + "TRACTEUR", + "KAYAK" + ] +} diff --git a/lib/utils/random_pick_word.dart b/lib/utils/random_pick_word.dart new file mode 100644 index 0000000000000000000000000000000000000000..34078c841c0fcf49efccf66f0263857ff82b3593 --- /dev/null +++ b/lib/utils/random_pick_word.dart @@ -0,0 +1,31 @@ +import 'dart:async'; +import 'dart:convert'; +import 'package:flutter/services.dart'; +import 'dart:math' show Random; + +class RandomPickWord { + RandomPickWord(); + + String _word; + final random = Random(); + + init() async { + await wordFromLocalFile(); + } + + Future<void> wordFromLocalFile() async { + String jsonString; + try { + jsonString = await rootBundle.loadString('assets/files/words-fr.json'); + final jsonResponse = await json.decode(jsonString); + var wordList = jsonResponse[jsonResponse.keys.toList().join()]; + int randomWordIndex = random.nextInt(wordList.length); + String word = wordList[random.nextInt(wordList.length)]; + _word = word ?? 'UNEXPECTED ERROR'; + } catch (e) { + _word = 'UNEXPECTED ERROR'; + } + } + + String get word => _word; +} diff --git a/pubspec.yaml b/pubspec.yaml index d839050ce6d1d1c200d7d0b3c756ec7cce5ca79d..ed5d18a16841678aad0e6390f75bd63226357e97 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -17,3 +17,5 @@ dev_dependencies: flutter: uses-material-design: true + assets: + - assets/files/