Question/reponse

mariasorciere Messages postés 11 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 11 juin 2005 - 23 mai 2005 à 11:54
Nolson Messages postés 216 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 16 mars 2006 - 25 mai 2005 à 10:29
re-salut a tous !!
je n'arrive toujours pas a trouver comment relier mes réponses avec mes questions :(
alors en voyant que j'ais reçu des réponses ayant rien a voir avec ma question posé, je reformule ma requete...


mon bot pose des questions aléatoirement.
" $gettok($read(question.txt),1,92) "


Donc si je met set %question $gettok($read(question.txt),1,92) , sa va me donner la meme question a chaqur fois :/
Alors j'ais trouvé une solution (qui n'est surement pas la meilleur), je met a chaque fois timer $gettok($read(question.txt),1,92), et la sa me done des questions diférentes a chaque fois, mais le probléme, c'est que je n'arrive pas a relier la réponse avec la question donné :(


j'espére que cette fois ci je me serais mieux exprimé ^^
merci d'avance pour votre aide ++

10 réponses

Nolson Messages postés 216 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 16 mars 2006
23 mai 2005 à 14:10
Il faut des précisions. C'est pas très clair.
As-tu un unique fichier .txt contenant les questions et les réponses ou tu as 2 fichiers .txt séparés?
Comment as-tu agencé les questions et les réponses dans ton ou tes fichiers .txt? Montre-nous quelques lignes d'exemple.

Généralement le format est le suivant (questions et réponses dans le même fichier) :
question séparateur(token) réponse

Pour lire une question au hasard et en déterminer sa réponse c'est simple, admettons que ton séparateur soit \ [$chr(92)] :

;à chaque nouvelle question

var %q = $read(fichier.txt)
$gettok(%q,1,92) représente la question
$gettok(%q,2,92) réprésente la réponse

Bon ceci est le cas général mais ne s'applique peut-être pas à ton bot, dans ce cas, précise un peu.
0
Milk0z Messages postés 54 Date d'inscription mercredi 29 décembre 2004 Statut Membre Dernière intervention 1 juin 2005
23 mai 2005 à 17:22
Daccod avec Nolson!
0
cs_Huitre Messages postés 290 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 29 février 2008
24 mai 2005 à 00:13
c tres tres facile !



utilise l identifiant $readn qui retourne la ligne du fichier, tu n
auras qu a $read(tonfichier.txt,%ligne) ou ligne est le numero de la
ligne prealablement stocké ds %ligne.

Ou bien stock directement a la lecture de la question, la reponse comme la stipulé nolson.



bref, elementaire mon cher nolson !
0
mariasorciere Messages postés 11 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 11 juin 2005
24 mai 2005 à 09:04
re-salut !!!

je vais vous montrer un début de code pour y voir plus claire...

PS: je crois que j'ai apliqué ta méthode nolson.



on *:text:!plop*:#:{ if (%jeu.status == on ) {

/msg $chan plop }

else (%jeu.status == off) {

set %jeu.status on

/msg $chan go for test

var %question $gettok($read(question.txt),1,92)

set %ligne $readn

timer 1 3 /msg $chan 12[Question] : %question

.....etc.........



sa c'est pour poser les questions...

maintenant voila pour les réponses...



on *:text:*:#:{

if %jeu.status == on {

var %text = $strip($1-)

if %text == $strip($gettok($read(question-maillon.txt,%ligne),2,92)) {

/msg $chan bravo $nick

......etc..........



donc voila le blèm, si je met "var %question $gettok($read(question.txt),1,92)" il vas me lire la meme question a chaque fois :/

mais les réponses sont acordé avec la question posé.

Et si je met "$gettok($read(question.txt),1,92)" a chaque ligne où la
question doit être posé, (a la place de %question) sa me donne des
questions différentes a chaque fois, mais les réponses ne sont pas
reliées avec la question posé aléatoirement :/

donc voila, dans les 2 cas il me manque un truc :(

PS: je précise que je me suis aidé d'un autre code-source pour le on *:text:*:#:{



merci @ ++ ^^
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Nolson Messages postés 216 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 16 mars 2006
24 mai 2005 à 09:24
Apparemment tu as deux fichiers .txt, un pour les questions et un pour les réponses.
Comme je te l'ai demandé plus haut, montre-nous quelques lignes de chacun de ces 2 fichiers .txt, afin qu'on connaissent leurs structures.
Ainsi on pourra mieux t'aider car là on ne voit pas vraiment comment récupérer l'information.
0
mariasorciere Messages postés 11 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 11 juin 2005
24 mai 2005 à 11:09
nan nolson, mes questions et réponses sont dans le meme fichier.txt
ex: quel est la couleur du cheval blanc d'henri 4 ? \ blanc
0
fjxokt Messages postés 840 Date d'inscription vendredi 28 janvier 2005 Statut Membre Dernière intervention 25 février 2009 1
24 mai 2005 à 12:19
var %question $gettok($read(question.txt),1,92) >> question

et

if %text == $strip($gettok($read(question-maillon.txt,%ligne),2,92)) { >> reponse



tu ne lis pas le meme fichier !
0
mariasorciere Messages postés 11 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 11 juin 2005
24 mai 2005 à 12:48
:/
je me suis juste trompé de texte fjxokt, part sur la base ke se sont les meme fichier.txt...
0
fjxokt Messages postés 840 Date d'inscription vendredi 28 janvier 2005 Statut Membre Dernière intervention 25 février 2009 1
24 mai 2005 à 13:31
sinon ce que tu peux faire, c'est au lieu de stocker le numero de la
ligne dans ta question, tu stock la question-reponse dans une var: set %qr = $read(questions.txt)

et pour la lire: msg $chan $gettok(%qr,1,92)

ensuite dans ta partie reponse, tu verifie par un: if $strip($1-) == $gettok(%qr,2,92) { bravo $nick }
0
Nolson Messages postés 216 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 16 mars 2006
25 mai 2005 à 10:29
Bah dans ta source tu as 2 fichiers différents.
Bref, donc si tu as tout dans le même fichier et la question séparée de la réponse par le token \ ($chr(92)) ça correspond au cas général et comme j'ai dit précédemment :

var %q = $read(fichier.txt) pour stocker ta ligne prise au hasard contenant la question et la réponse
$gettok(%q,1,92) représente la question
$gettok(%q,2,92) réprésente la réponse

Sépare ton code en plusieurs étapes avec des alias différents et ne fait pas le traitement directement dans le ON TEXT. Ne mets dans le ON TEXT que les tests sur les mots saisis et ensuite bascule le traitement sur un alias.
Par exemple fais :

- un alias "demarrage du quizz"
- un alias "question" (stockage d'une ligne au hasard + envoie de la question)
- un alias "bonne réponse"
- un alias "personne n'a trouvé"
etc...
0
Rejoignez-nous