Select Git revision
-
Benoît Harrault authoredBenoît Harrault authored
game.dart 4.63 KiB
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import '../provider/data.dart';
import '../utils/constants.dart';
import '../utils/random_pick.dart';
import '../widgets/letters.dart';
class Game extends StatelessWidget {
const Game({super.key});
static const String id = 'game';
Future<void> pickWord(BuildContext context, Data myProvider) async {
myProvider.searching = true;
RandomPick randompick;
int attempts = 0;
do {
randompick = RandomPick(myProvider.levelPref);
await randompick.init();
if (randompick.word != '') {
myProvider.updateSecretWord = randompick.word;
myProvider.resetSuccessAndErrors();
myProvider.resetUsedLetters();
if (myProvider.levelPref == defaultLevel) {
myProvider.updateClue = randompick.clue;
}
myProvider.searching = false;
break;
}
attempts++;
} while (attempts < 3);
}
@override
Widget build(BuildContext context) {
Orientation orientation = MediaQuery.of(context).orientation;
Data myProvider = Provider.of<Data>(context);
return Scaffold(
backgroundColor: const Color(board),
floatingActionButton: myProvider.levelPref == defaultLevel
? FloatingActionButton(
foregroundColor: Colors.white,
backgroundColor: Colors.transparent,
elevation: 0.0,
onPressed: () {
showDialog(
context: context,
builder: (context) {
return AlertDialog(
title: const Text('Indice'),
content: Text(myProvider.clue),
actions: <Widget>[
TextButton(
child: const Text('Revenir au jeu'),
onPressed: () => Navigator.of(context).pop(),
)
],
);
},
);
},
child: const Icon(Icons.help_outline),
)
: null,
floatingActionButtonLocation: orientation == Orientation.portrait
? FloatingActionButtonLocation.endTop
: FloatingActionButtonLocation.centerTop,
body: orientation == Orientation.portrait