0% ont trouvé ce document utile (0 vote)
57 vues3 pages

Atelier Quizz

Transféré par

achraf.talibi
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
57 vues3 pages

Atelier Quizz

Transféré par

achraf.talibi
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Atelier 1 : Quiz Application

Objectif :

Dans cette application, nous allons avoir les caractéristiques ou les modules mentionnés ci-dessous :

• Cinq questions à choix multiples (d'autres questions peuvent être ajoutées).


• Quatre options sélectionnables pour chaque question sous forme de boutons, à l'exception de
la dernière.
• Le score sera calculé en fonction de l'option sélectionnée pour chaque question (en interne).
• En fonction du score final, une remarque sera affichée à la fin du quiz, en plus du score et du
bouton de redémarrage.
• L'application comporte deux écrans : l'écran d'accueil (où les questions sont affichées) et
l'écran des résultats (où le score et la remarque sont affichés).
• L'application entière sera séparée en cinq modules différents, à savoir [Link],
[Link], [Link], [Link] et [Link].
Mise en place :

Pour commencer à créer l'application, nous devons d'abord créer un projet Flutter qui nous fournira
de nombreux fichiers et dossiers. Dans le dossier Lib, un fichier [Link] est déjà présent. Et
maintenant, dans le même dossier rest, quatre fichiers doivent être créés :-

• [Link]
• [Link]
• [Link]
• [Link]

Étape 1 : Dans la première étape, nous allons

• Créer la classe MyApp et la rendre dynamique.


• Ajouter des questions pour l'écran home.
• Créer une arborescence de widgets pour l'écran d'accueil.
• En commençant par le fichier [Link]

Créer les variables suivants :

final _questions = const [{


'questionText' : 'Q1. Qui a créé Flutter ? ',
'answers' : [
{'text' : 'Facebook', 'score' : -2},
{'text' : 'Adobe', 'score' : -2},
{'text' : 'Google', 'score' : 10},
{"text" : "Microsoft", "score" : -2},
],
},
{
'questionText' : 'Q2. Qu est-ce que Flutter ?',
'answers' : [
{'text' : 'Android Development Kit', 'score' : -2},
{'text' : 'Kit de développement IOS', 'score' : -2},
{'text' : 'Kit de développement Web', 'score' : -2},
{
'text' :
'SDK to build beautiful IOS, Android, Web & Desktop Native Apps',
'score' : 10
},
],
},
{
'questionText' : ' Q3. Quel est le langage de programmation utilisé par Flutter ?',
'answers' : [
{'text' : 'Ruby', 'score' : -2},
{'text' : 'Dart', 'score' : 10},
{'text' : 'C++', 'score' : -2},
{"text" : "Kotlin", "score" : -2},
],
},
{
'questionText' : 'Q4. Qui a créé le langage de programmation Dart ?',
'answers' : [
{'text' : 'Lars Bak et Kasper Lund', 'score' : 10},
{'text' : 'Brendan Eich', 'score' : -2},
{"text" : "Bjarne Stroustrup", "score" : -2},
{"text" : "Jeremy Ashkenas", "score" : -2},
],
},
{
'questionText' :
'Q5. Flutter pour le web et le bureau est-il disponible en version stable ?',
'answers' : [
{
'text' : 'Oui',
'score' : -2,
},
{'text' : 'No', 'score' : 10},
],
},
];

var _questionIndex = 0 ;
var _totalScore = 0 ;

Créez les deux méthodes _resetQuiz() et _answerQuestion(int scor) , la première méthode sert pour
initialiser le Quiz a zéro (Question 1 et score 0) , la deuxième méthode calcule le score total selon la
réponse de l’utilisateur et vérifier si il y a des questions qui reste si oui on passe a la question
suivante si non on affiche un message indiquent la fin de Quizz.

Le widget principal fait appel au widget Quiz de fichier [Link] et Result dans le fichier
[Link] selon l’ordre des questions si l’ordre est inférieure a la taille de la liste des question donc
on va intégrer Quiz si Non on intégre Result.

Dans le fichier [Link] , La classe Quizz hérite depuis StatelessWidget:

Dans le fichier [Link] , la classe Question hérite depuis StatelessWidget c’est un widget pour
afficher la question (Container et Text)

Dans le fichier [Link] , la classe Answer hérite depuis StatelessWidget c\est une widget pour
construire les reposes et le score d’une manière itérative (SizeBox et ElevatedButton)

Dans le fichier [Link] , la classe Result hérite depuis StatelessWidget c;est une sidget pour
afficher le resultat final (2 Text et un TextButton)

Vous aimerez peut-être aussi