Re ajouter une lettre

cs_simoi Messages postés 87 Date d'inscription samedi 1 janvier 2005 Statut Membre Dernière intervention 19 juillet 2008 - 26 janv. 2008 à 18:18
RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009 - 3 févr. 2008 à 22:36
Hum, vu que j'avais testé le pendu d'ArKan!s, il me semble que cette fonction (si c'est bien ce dont tu parles) étais présente dans son code, il gère ça ici :
  var %r $hget(Pendu,Masque), %e $2-, %p = $pos($hget(Pendu,Mot),%e,0)
    if (!%p) hinc -m Pendu Score
    while %p {      var %s $calc($pos($hget(Pendu,Mot),%e,%p) -1), %m $+(/^,$left(%r,%s),$chr(40),$str(.,$len(%e)),$chr(41),/i), %r = $regsubex(%r,%m,$+($left(%r,%s),%e))
      dec %p
    }

ça serait bien qu'il explique un peu ce bout de code pour toi ^^
 tu pes donner l'expication en détail stp

5 réponses

RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009
26 janv. 2008 à 19:07
en fait je mémorise le dernier "état" de la ligne (par exemple **e** tr***e**)
%p représente le nombre de fois que la lettre à ajouter (ou le mot) correspond.à chaque fois, m contient le texte du début de la phrase jusqu'au début du texte à remplacer, suivi du nombre de caractères qu'on a précisé dans le !pendu <caractères>. Si le second mot commence par TRA et que l'on ajoute A ($len(A) 1), on aurait alors dans notre exemple %m **e** tr(.)
le regsubex effectue ensuite le remplacement des points par les caractères à ajouter (ici A)
on réeffectue l'opération tant qu'il y a ce caractère à placer (on commence par la fin)

j'espère que t'as compris :p
pourquoi tu ne réutilises pas le code tel quel d'ailleurs ?
0
cs_simoi Messages postés 87 Date d'inscription samedi 1 janvier 2005 Statut Membre Dernière intervention 19 juillet 2008
3 févr. 2008 à 18:13
désolé pas pu te répondre plus vite
 j'ai pas pu réussir a incorporer ta formule a ceci :
on 1:text:*:#: {
  set %opt $regsubex($read(rep.txt),/[^ $2 ]/g,*)
  if ($1 == !let ) {
    if ($3 == $null ) {
      if ( $calc($len($2)) == 1 ) {
        if ( $2 isletter lettre %rq )  
        /msg # �3;12  %opt 


      }
    }
  } 
}
0
RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009
3 févr. 2008 à 19:18
oula ? j'comprends rien à ton code ... tu veux faire quoi ?

if ( $2 isletter lettre %rq )  
sans aucun doute, j'me permets d'affirmer que ça ne fonctionne pas. Que vient faire ton 2e "lettre" ?!

pourquoi tu ne reprends pas mon code ? (bis) :/
0
cs_simoi Messages postés 87 Date d'inscription samedi 1 janvier 2005 Statut Membre Dernière intervention 19 juillet 2008
3 févr. 2008 à 19:38
 ton code me plait bien ,sauf que je voulais juste l'adapter au mien pour un ptit bot perso .
pour le Que vient faire ton 2e "lettre" ?! 
sans lui cela marche pas g testé
0

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

Posez votre question
RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009
3 févr. 2008 à 22:36
mets des echos retournant la valeur de quelques variables pour savoir comment réagit ton code, tu sauras où il passe, mais surtout POURQUOI et ce qu'il en fait.
0
Rejoignez-nous