Select Git revision
random_pick_word.dart
-
Benoît Harrault authoredBenoît Harrault authored
random_pick_word.dart 954 B
import 'dart:async';
import 'dart:convert';
import 'package:flutter/services.dart';
class RandomPickWord {
RandomPickWord();
List _words;
init(int count) async {
_words = new List(count);
await wordFromLocalFile(count);
}
Future<void> wordFromLocalFile(int count) async {
// Get global words list
List wordList = [];
try {
String jsonString = await rootBundle.loadString('assets/files/words-fr.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.');
}
// Remove empty words
wordList.removeWhere((value) => value == '');
// Randomize words list
wordList.shuffle();
// Pick first words from shuffled list
_words = wordList.take(count).toList();
}
List get words => _words;
}