[R] Une sorte de Quiz

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
EricG
Niveau 2
Niveau 2
Messages : 18
Enregistré le : lun. 21 janv. 2008 10:22
Status : Hors ligne

[R] Une sorte de Quiz

#1

Message par EricG »

Bonjour,

J'ai réussi un bon script hier (encore malpropre mais bon), alors, aujourd'hui, je commence un autre qui suit une idée qui me prend la tête.

Je n'arrive pas encore tout à fait avec la création d'interface. Il me faut juste un squelette.

Mon désir est de faire un Quiz sous la forme d'une simple boîte, avec une image associée à une question, un input pour la réponse et un bouton Suivant pour refaire cette boîte avec une autre question/image.

La réponse est une simple lettre ; c'est pour mémoriser le clavier ; les images seront un groupe de touches dont l'une est «lettrée» et la question sera du genre : «quelle est la touche du dessous/dessus/gauche/droite ?». La question en toutes lettres peut paraître inutile mais ça m'évitera de faire un gros paquet d'images, à moins de placer un signe dessus.

Alors, je sais, ça à l'air un peu con comme programme mais j'aimerai comprendre des scripts de base, en rapport avec des idées simples.

La touche Suivant peut se transformer en Quitter au bout d'un moment, pour limiter et scorer tout ça. Enfin, bon, je veux juste un squelette pour démarrer. J'ai pas mal cherché et je suis plutôt un visuel.
Modifié en dernier par EricG le dim. 17 mai 2009 12:08, modifié 2 fois.
EricG
Niveau 2
Niveau 2
Messages : 18
Enregistré le : lun. 21 janv. 2008 10:22
Status : Hors ligne

Re: Une sorte de Quiz

#2

Message par EricG »

Bonjour à tous,

Bon, mon projet est devenu un jeu de question/réponse, Quizz (oui, je sais, deux «z»), avec un fichier txt extérieur pour écrire ses questions et les bonnes réponses, et une éventuelle image qu'il suffira de mettre dans le même dossier. Voici, le script (il y a une astuce, je crois, pour coloriser... )
► Afficher le texte
Le fichier Quizz.txt, les retours à la ligne font que le script s'y retrouve, ressemblera à ça :

Code : Tout sélectionner



Quelle était le prénom de Staline ?
Joseph
staline.jpg
Quel était la nationalité de Kafka ?
Tchèque

Qui est l'auteur de «L'esprit des lois» ?
Montesquieu
 
Il faut laisser les deux lignes blanches du début et celles en cas d'absence d'image relative à la question. Tout cela est améliorable, évidemment, et je trouve d'ailleurs le principe de la réponse directe est un peu trop simple.
Modifié en dernier par tolf le sam. 16 mai 2009 13:04, modifié 1 fois.
Raison : Ajout des balises de code dans le spoiler !
tolf
Niveau 7
Niveau 7
Messages : 318
Enregistré le : ven. 15 févr. 2008 12:25
Localisation : Paris
Status : Hors ligne

Re: [..] Une sorte de Quiz

#3

Message par tolf »

Merci de refaire un tour du côté de la présentation des messages : http://www.autoitscript.fr/forum/viewto ... f=35&t=595

Sinon, pour le quiz, vous pouvez utiliser la structure de fichiers ini :

Code : Tout sélectionner

[question_1]
Question=Quelle était le prénom de Staline ?
Reponse=Joseph
Image=staline.jpg
[question_2]
Question=Quel était la nationalité de Kafka ?
Reponse=Tchèque
[question_3]
Question=Qui est l'auteur de «L'esprit des lois» ?
Reponse=Montesquieu
Ensuite, utilisez la fonction IniRead pour lire le fichier et IniWrite pour le modifier.
Lisez la documentation d'AutoIt en français (et participez svp :mrgreen:) !

Mes UDF :
[/i][/b]
EricG
Niveau 2
Niveau 2
Messages : 18
Enregistré le : lun. 21 janv. 2008 10:22
Status : Hors ligne

Re: [R] Une sorte de Quiz

#4

Message par EricG »

Merci,

l'idée de poster du code m'est venue d'un coup, je n'ai donc pas pensé à m'informer sur le protocole.
L'utilisation d'un fichier ini est peut être plus simple, mais j'ai bien travaillé sur l'usage d'un fichier texte classique.
A vrai dire, j'ai démarré un autre projet sur le même thème parce que je voulais quelque chose de moins simpliste. Donc, a priori, plus de textes, et des combos pour que l'utilisateur n'ait pas à entrer des réponses lui-même. Ce qui n'est pas facile c'est de proposer un fichier extérieur facile à mettre à jour tout en le rendant digeste pour le script. Je dois le faire évoluer pour le rendre décent.
tolf
Niveau 7
Niveau 7
Messages : 318
Enregistré le : ven. 15 févr. 2008 12:25
Localisation : Paris
Status : Hors ligne

Re: [R] Une sorte de Quiz

#5

Message par tolf »

EricG a écrit :Ce qui n'est pas facile c'est de proposer un fichier extérieur facile à mettre à jour tout en le rendant digeste pour le script. Je dois le faire évoluer pour le rendre décent.
Un .ini s'impose donc. Vous pouvez créer un script pour transférer les données du .txt déjà créé vers le .ini.
Lisez la documentation d'AutoIt en français (et participez svp :mrgreen:) !

Mes UDF :
[/i][/b]
TaPuZ
Niveau 4
Niveau 4
Messages : 75
Enregistré le : jeu. 14 mai 2009 17:10
Status : Hors ligne

Re: [R] Une sorte de Quiz

#6

Message par TaPuZ »

Allez... Je sais que le sujet est résolu, mais comme je vais certainement utiliser un principe similaire, j'ai essayé de faire un bout du code recherché.
Je m'en remets à vous pour savoir s'il y a plus simple, ou plus malin, ou moins gourmand, etc...
► Afficher le texte
pour le fichier quizz.ini, j'ai repris celui de l'exemple

► Afficher le texte

J'attends vos critiques.

A bientôt

T@PµZ
A bientôt,
T@PµZ.
____________________________________
EricG
Niveau 2
Niveau 2
Messages : 18
Enregistré le : lun. 21 janv. 2008 10:22
Status : Hors ligne

Re: [R] Une sorte de Quiz

#7

Message par EricG »

Salut, cela servira aux internautes en tous cas, mais je voudrais savoir quel était votre projet personnel. Moi-même, j'ai changé un peu pour une version à texte à trous, parce que transmettre du savoir en dosettes, je n'y crois plus vraiment. J'ai un peu caler depuis.
TaPuZ
Niveau 4
Niveau 4
Messages : 75
Enregistré le : jeu. 14 mai 2009 17:10
Status : Hors ligne

Re: [R] Une sorte de Quiz

#8

Message par TaPuZ »

En réalité, quand je disais principe similaire, c'était dans l'utilisation des fonctions incriminées.
Pour m'entrainer, j'ai pensé à un script qui nous aide au boulot. En gros, il faut que l'utilisateur réponde à quelques questions, et les réponses sont sauvegardées sur son fichier ini personnalisé. Elles peuvent ensuite être comparées à une valeur référence issue du fichier reference.ini, et permettre ainsi une action appropriée de maintenance. Rien de folichon, mais je débute à peine. Et comme je devais plancher sur les questions/réponses, ainsi que les écritures/lectures de fichiers, je me suis entrainé sur cet exemple. Voilà tout. :mrgreen:
A bientôt,
T@PµZ.
____________________________________
EricG
Niveau 2
Niveau 2
Messages : 18
Enregistré le : lun. 21 janv. 2008 10:22
Status : Hors ligne

Re: [R] Une sorte de Quiz

#9

Message par EricG »

Oui, effectivement, c'est tout autre chose.

Je vais peut être modifier le script pour inclure des déroulants. Ainsi, si l'utilisateur ne sait vraiment pas une réponse, il pourra toujours proposer quelque chose. Et puis, je pense même inclure plusieurs déroulants dans une question, qui serait plutôt un texte, pour faire mieux mémoriser.

Merci pour avoir illustrer ainsi la notion de fichier ini dans ce genre de script.
TaPuZ
Niveau 4
Niveau 4
Messages : 75
Enregistré le : jeu. 14 mai 2009 17:10
Status : Hors ligne

Re: [R] Une sorte de Quiz

#10

Message par TaPuZ »

Pour info, étant parti d'un principe similaire, toujours dans le but de m'entrainer, j'ai fait le même genre de code, mais avec des radios à checker, comme si on voulait faire un sondage, et totaliser le nombre de réponse dans chaque catégorie (le nombre de choix 1, le nombre de choix 2, ou le nombre de choix 3).
► Afficher le texte
Exemple à coller dans un fichier txt a renommer en Qst.gpt, dans le même répertoire que l'exemple du dessus
► Afficher le texte
Voilà. Si ça peut aider.

A bientôt.

T@PµZ.
A bientôt,
T@PµZ.
____________________________________
flotos
Niveau 1
Niveau 1
Messages : 13
Enregistré le : mer. 20 mai 2009 17:29
Status : Hors ligne

Re: [R] Une sorte de Quiz

#11

Message par flotos »

Moi j'ai créé un quizz, et j'ai fait que "si il y a écrit niveau 2", alors sa lance enigme2.exe qui contient l'énigme 2 et la suite.

Exemple :

Code : Tout sélectionner

Local $bLoop = 1, $text, $niveau1, $user = @UserName, $domaine=@LogonDomain, $fichier="c:\windows\notepad.exe", $fichierini
if FileExists(@scriptdir&"\"&$fichierini&".ini") Then
    $user =IniRead ( @scriptdir&"\"&$fichierini&".ini", "execution en mode administrateur", "user","" )
    $domaine =IniRead ( @scriptdir&"\"&$fichierini&".ini", "execution en mode administrateur", "domaine" ,"")
    $fichier =IniRead ( @scriptdir&"\"&$fichierini&".ini", "execution en mode administrateur", "fichier" ,"")
    $fichier =IniRead ( @scriptdir&"\"&$fichierini&".ini", "execution en mode administrateur", "Niveau 2" ,"")
    Run('C:\Enigme\Enigma2.exe')
Else
if FileExists(@scriptdir&"\"&$fichierini&".ini") Then
    $user =IniRead ( @scriptdir&"\"&$fichierini&".ini", "execution en mode administrateur", "user","" )
    $domaine =IniRead ( @scriptdir&"\"&$fichierini&".ini", "execution en mode administrateur", "domaine" ,"")
    $fichier =IniRead ( @scriptdir&"\"&$fichierini&".ini", "execution en mode administrateur", "fichier" ,"")
    $fichier =IniRead ( @scriptdir&"\"&$fichierini&".ini", "execution en mode administrateur", "Niveau 3" ,"")
    Run('C:\Enigme\Enigma3.exe')
Else
if FileExists(@scriptdir&"\"&$fichierini&".ini") Then
    $user =IniRead ( @scriptdir&"\"&$fichierini&".ini", "execution en mode administrateur", "user","" )
    $domaine =IniRead ( @scriptdir&"\"&$fichierini&".ini", "execution en mode administrateur", "domaine" ,"")
    $fichier =IniRead ( @scriptdir&"\"&$fichierini&".ini", "execution en mode administrateur", "fichier" ,"")
    $fichier =IniRead ( @scriptdir&"\"&$fichierini&".ini", "execution en mode administrateur", "Niveau 4" ,"")
    Run('C:\Enigme\Enigma4.exe')
Else
if FileExists(@scriptdir&"\"&$fichierini&".ini") Then
    $user =IniRead ( @scriptdir&"\"&$fichierini&".ini", "execution en mode administrateur", "user","" )
    $domaine =IniRead ( @scriptdir&"\"&$fichierini&".ini", "execution en mode administrateur", "domaine" ,"")
    $fichier =IniRead ( @scriptdir&"\"&$fichierini&".ini", "execution en mode administrateur", "fichier" ,"")
    $fichier =IniRead ( @scriptdir&"\"&$fichierini&".ini", "execution en mode administrateur", "Niveau 5" ,"")
    Run('C:\Enigme\Enigma5.exe')
endif
TaPuZ
Niveau 4
Niveau 4
Messages : 75
Enregistré le : jeu. 14 mai 2009 17:10
Status : Hors ligne

Re: [R] Une sorte de Quiz

#12

Message par TaPuZ »

Je persiste dans mon exemple :P , même si je trouve le votre intéressant. C'est juste pour essayer de lier les deux, sans avoir à lancer plusieurs exe.
Pourquoi ne pas sauvegarder le niveau dans le log du joueur, et/ou permettre au joueur de choisir son niveau, et auquel cas, il suffit de piocher dans le fichier Qst.gpt, les questions de la rubrique correspondante.

Il suffirait alors de l'organiser ainsi :

Code : Tout sélectionner

[Niveau] ; rubrique niveau
2 ; niveau sauvegardé du joueur
[Score] ; rubrique score du joueur
218 ; score du joueur
[Niveau1] ; rubrique des questions du niveau 1
Question1 = question 1
reponse1 = réponse 1
Question2= question 2
Reponse2 = réponse 2
Questionn = question n
Reponsen = réponse n
[Niveau2]
etc...
 
C'est une idée comme une autre, non?
A bientôt,
T@PµZ.
____________________________________
Répondre