Mélangeur de mot

Contenu du snippet

C'est une fonction que j'utilise pour un plus gros projet (d'où les noms des var %devinette* vous étonnez pas), je la fais partager.
Elle mélange un mot, bizarrement j'ai eu énormément de bug au niveau de:
$instok(%devinettemotok,$gettok(%devinettemot,%b,32),$rand(1,5),32)
quand je voulais faire des trucs plus compliqué niveau mélange et j'ai trouvé qu'avec un petit $rand(1,5) pas trop gros (style pas $rand(1,99)) ça marchait toujours.
Si qu'unlqun pouvait m'expliquer pourquoi.

Source / Exemple :


;Systême de mélangeur de mot par Kentix
;Utilisation: être op puis !melangermot UnMot

;Séparation char par char d'un mot qu'on stocke dans %devinettemot
alias separermot {
  unset %devinettemot
  set %devinettereponse $$1
  var %a = $$1, %b = $len(%a), %c = 1
  while (%c <= %b) {
    set %devinettemot $instok(%devinettemot, $right($left(%a,%c),1), %b, 32)
    inc %c
  }
} 

;On mélange les chars, on stocke le mot obtenu dans %devinettemotok
alias melangermot {
  unset %devinettemotok
  var %a = $numtok(%devinettemot,32), %b = 1
  while (%b <= %a) {
    set %devinettemotok $instok(%devinettemotok,$gettok(%devinettemot,%b,32),$rand(1,5),32)
    inc %b
  }
}

;On regroupe les chars mélangés dans la var %devinettemotrassembler
alias rassemblermot {
  unset %devinettemotrassembler
  var %a = $numtok(%devinettemotok,32), %b = 1
  while (%b <= %a) {
    set %devinettemotrassembler %devinettemotrassembler $+ $gettok(%devinettemotok,%b,32)
    inc %b
  }
}
on @*:text:!melangermot*:#:{
  separermot $$2
  melangermot
  rassemblermot
  msg $chan %devinettemotrassembler
}

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Du même auteur (cs_Kentix)