Aller au contenu

Trie de chiffres, algorithme !


Messages recommandés

Posté(e)

Voilà l'algorithme, il m'a pris 30 minutes, ça peut être utile pour classé des scores, comme les kills ;)

 

command /trie:
   trigger:

       loop 20 times:
           set {_z} to a random integer between 1 and 100
           add {_z} to {_list::*}


       broadcast "%{_list::*}%" #List = la variable a trier

       while {_list::*} is set:           
 set {_i} to size of {_list::*}
           set {_b} to {_i}
           loop {_b} times:
               loop {_list::*}:
                   set {_index} to "%loop-index%" parsed as integer
                   set {_value} to "%loop-value-2%" parsed as integer
                   if {_index} = 1:
                       set {_current} to {_value}
                   else if {_current} <= {_value}:
                       set {_current} to {_value}
                   if {_index} = {_b}:
                       if {_current} <= {_value}:
                           set {_current} to {_value}
                           remove {_current} from {_list::*}
                           add {_current} to {_final::*}
                       else:
                           remove {_current} from {_list::*}
                           add {_current} to {_final::*}
                       set {_b} to {_b}-1
                       set {_list::*} to {_list::*}
                   loop {_final::*}:
                       add 1 to {_n}
                   if {_n} = {_i}:
                       exit


       broadcast "%{_final::*}%" # Final = la variable de fin.


 

Bonne journée, soirée.

  • J'aime 3
Posté(e)
Ah très sympathique ^^ J'en avais eu besoin une fois, mais il n'avait pas trop marché le mien :)

 

Ahaha ! tu peux tester le mien est 100% fonctionnel ;)

Posté(e)
Ce genre de truc sa depasse large le skript de base ;)

 

command /bvn:
     broadcast "Bienvenue mec"

 

Sa depasser beaucoup ce genre de truc ;)

 

Merci, bah c'est des algorithmes quoi ;)

  • 3 semaines après...
  • 2 mois après...
Posté(e)
Voilà l'algorithme, il m'a pris 30 minutes, ça peut être utile pour classé des scores, comme les kills ;)

 

command /trie:
   trigger:

       loop 20 times:
           set {_z} to a random integer between 1 and 100
           add {_z} to {_list::*}


       broadcast "%{_list::*}%" #List = la variable a trier

       while {_list::*} is set:          
 set {_i} to size of {_list::*}
           set {_b} to {_i}
           loop {_b} times:
               loop {_list::*}:
                   set {_index} to "%loop-index%" parsed as integer
                   set {_value} to "%loop-value-2%" parsed as integer
                   if {_index} = 1:
                       set {_current} to {_value}
                   else if {_current} <= {_value}:
                       set {_current} to {_value}
                   if {_index} = {_b}:
                       if {_current} <= {_value}:
                           set {_current} to {_value}
                           remove {_current} from {_list::*}
                           add {_current} to {_final::*}
                       else:
                           remove {_current} from {_list::*}
                           add {_current} to {_final::*}
                       set {_b} to {_b}-1
                       set {_list::*} to {_list::*}
                   loop {_final::*}:
                       add 1 to {_n}
                   if {_n} = {_i}:
                       exit


       broadcast "%{_final::*}%" # Final = la variable de fin.


 

Bonne journée, soirée.

Merci mais je n'ai pas compris, pourriez-vous me faire un top 5 joueurs en fonction de la variable {stats.kills.%player%} ?

Posté(e)
Merci mais je n'ai pas compris, pourriez-vous me faire un top 5 joueurs en fonction de la variable {stats.kills.%player%} ?

Il faut que toutes tes variables {statw.kills.%player%} soit dans une liste de variable ou alors avant de mettre cet algorythme tu met

Loop all players:
   Add {stats.kills.%loop-player%} to {_lists::*}

  • 4 mois après...
Posté(e)

Une question ?

comment faire quand on souhaite classer des chiffres associés à des pseudos par exemple

 

Si à la place de

loop 20 times:
           set {_z} to a random integer between 1 and 100
           add {_z} to {_list::*}

 

Ou souhaiterait

 

        set {_list::noob} to 1
       set {_list::wola} to 8
       set {_list::hey} to 3
       set {_list::hell} to 2
       set {_list::pro} to 100
       set {_list::plane} to 18

 

Comment remodifier le l'algorithme pour en sortir une liste de pseudos dans l'ordre svp ???

Posté(e)

C'est un assemblage de boucle pour modifier cette ordre:

 

Tant que la liste n'est pas vide:

Prendre le meilleur de la liste

Le supprimer de cette liste

L'ajouter à une nouvelle liste

 

C'est le système le plus rapide que je connaisse, je pourrai te le faire en skript mais je suis sur portable donc un peu difficile

  • J'aime 1

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.