Select Git revision
default_game_settings.dart
-
Benoît Harrault authoredBenoît Harrault authored
random_pick_word.dart 1.05 KiB
import 'dart:async';
import 'dart:convert';
import 'package:flutter/services.dart';
class RandomPickWord {
RandomPickWord();
List _words = [];
init(String lang, int count) async {
_words = List.filled(count, []);
await wordFromLocalFile(lang, count);
}
Future<void> wordFromLocalFile(String lang, int count) async {
// Get global words list
List wordList = [];
try {
String jsonString = await rootBundle.loadString('assets/files/words.json');
final jsonResponse = await json.decode(jsonString);
wordList = jsonResponse['words'];
} catch (e) {
print("$e");
}
// Check we have enough words
if (wordList.length < count) {
print('Not enough words in list.');
_words = [];
} else {
// Remove empty words
wordList.removeWhere((w) => ((w.containsKey(lang) == false) || (w[lang] == '')));
// Randomize words list
wordList.shuffle();
// Pick first words from shuffled list
_words = wordList.take(count).toList();
}
}
List get words => _words;
}