Générer un nombre

From Base de connaissances eggdrops & TCL
Revision as of 21:58, 19 March 2008 by DaV34 (talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Alors avanat tout, je vais vous expliquer a quoi sert de générer un nombre en tcl : Générer un nombre permet de faire des taux de probabilité, de prendre un argument au hasard dans un variable (un nick, un mot ...).

Syntaxe :

   expr {int(rand() * valeur)}


valeur doit correspondre systematiquement a un nombre. En gros, il génère un nombre entre 0 et valeur -1. Etrange non ? Et bien oui ! (le nombre) que vous mettrez, il génèrera un nombre entre 0 et

Exemple :

   expr {int(rand() * 11)}


Ce code génèrera un nombre entre 0 et 10. Voyons maintenant des applications de cette fonction :

   bind pub - !chance pub:chance
   proc pub:chan {nick host hand chan arg} {
      set taux [expr {int(rand() * 2)}]
      if { $taux == 0 } {
         puthelp "NOTICE $nick :Malheuresement, vous n'avez pas de chance"
         return 0
      } else {
         puthelp "NOTICE $nick :Bravo ! Vous avez eu de la chance !"
         return 0
      }
   }


Ce code, vous renvoie quand vous tapez !chance sur un channel ou se trouve votre eggdrop, si vous avez eu de la chance Il calcule votre chance a un taux de 50% (en gros, tu as 50% de gagner, 50% de perdre, soit une chance sur deux).

   set bonjour {
      {salut ca va}
      {kikoo toi}
      {la forme ?}
      {bienvenue a toi !}
      {je vous aime fort !}
   }
   bind pub - bonjour pub:bonjour
   pub:bonjour {nick host hand chan arg} {
      global bonjour
      puthelp "PRIVMSG $chan :[lindex $bonjour [expr {int(rand() * [llength $bonjour])}]]"
      return 0
   }


Ce code tcl renvéra une phrase au hasard définite dans la variable bonjour de votre tcl lorsque vous tapez "bonjour" sur un salon ou ce trouve votre eggdrop.