Aller au contenu
Invité

Optimiser ce code ?

Messages recommandés

Invité

Bonjour,

 

J'ai fait un système d'elo sauf que bah c'est pas du tout optimisé.

J'aimerais savoir si vous pouviez optimisé un peu tout cela ?

 

Le code :

[spoiler=Code]

every 5 seconds in world "spawn":
   loop all players:
       if {elo.ran.%uuid of loop-player%} <= 1000:
           set {rank.ran.%uuid of loop-player%} to "Non Placé"
       if {elo.ran.%uuid of loop-player%} >= 1050:
           set {rank.ran.%uuid of loop-player%} to "Bronze |"
       if {elo.ran.%uuid of loop-player%} >= 1110:
           set {rank.ran.%uuid of loop-player%} to "Bronze ||"
       if {elo.ran.%uuid of loop-player%} >= 1180:
           set {rank.ran.%uuid of loop-player%} to "Bronze |||"
       if {elo.ran.%uuid of loop-player%} >= 1260:
           set {rank.ran.%uuid of loop-player%} to "Argent |"
       if {elo.ran.%uuid of loop-player%} >= 1350:
           set {rank.ran.%uuid of loop-player%} to "Argent ||"
       if {elo.ran.%uuid of loop-player%} >= 1450:
           set {rank.ran.%uuid of loop-player%} to "Argent |||"
       if {elo.ran.%uuid of loop-player%} >= 1600:
           set {rank.ran.%uuid of loop-player%} to "Diamant : Aigle |"
       if {elo.ran.%uuid of loop-player%} >= 1750:
           set {rank.ran.%uuid of loop-player%} to "Diamant : Aigle ||"
       if {elo.ran.%uuid of loop-player%} >= 1950:
           set {rank.ran.%uuid of loop-player%} to "Diamant : Aigle |||"
       if {elo.ran.%uuid of loop-player%} >= 2250:
           set {rank.ran.%uuid of loop-player%} to "Diamant : Chalenger"
       if {elo.ran.%uuid of loop-player%} >= 2500:
           set {rank.ran.%uuid of loop-player%} to "Aigle d'or"

 

 

 

Merci.

Partager ce message


Lien à poster
Partager sur d’autres sites

J'ai une suggestion, c'est que au moment on le score du joueur augmente, tu fous tout ce bordel dans le code, comme ça ya pas besoin de faire un check toutes les 5 secondes, y'aura juste le check quand il gagne de l'xp! C'est plus simple et ça évite le lag :)

Et pour optimiser encore plus ce bordel, tu mets les if juste après, en gros tu ajoutes une tabulation après chaque if, parce que si le joueur a moins de 1600 points, pas besoin d'aller vérifier si il en a 1900 juste après! Donc ça ferait un peu ça:

Contenu masqué

    Réagissez ou répondez à ce message afin de consulter le contenu masqué.

Partager ce message


Lien à poster
Partager sur d’autres sites
Invité

Ahhh merci pour ton aide ;);):D

 

Je reviens vers toi si besoin en est !

Partager ce message


Lien à poster
Partager sur d’autres sites

Si tu avais utiliser une formule mathématique au lieu de mettre des valeurs au pifs ça pourrais surement s'optimiser beaucoup plus (mais bon tu aurais eu moins de contrôle sur ton code) d'ailleur tu as un truc bizarre sur tes valeurs : en générale entre chaque palier tu augmente à chaque fois un peu plus la difference de ELO, cependant à ce moment là :

Contenu masqué

    Réagissez ou répondez à ce message afin de consulter le contenu masqué.

 

 

tu demande +300 pour passer Chalenger puis +250 pour passer Aigle d'or , c'est le seul moment où il y a une régression dans le changement de palier.

 

Pour ton code ce n'est pas un gros problème de tester des condition commes celle-ci, ça ne fais pas de lag, mais évidement comme le propose N1ark insert ceci à chaque augmentation de ELO et non chaque seconde.

 

Enfin, pour réduire le nombre de conditions tester, je te suggère ceci (le code est plus long mais aussi plus optimiser au final :cool::

Contenu masqué

    Réagissez ou répondez à ce message afin de consulter le contenu masqué.

 

Si ton système d’attribution d'un score ELO est correct, sache que c'est extrêmement compliquer d'atteindre 2500 !!!

Partager ce message


Lien à poster
Partager sur d’autres sites
Invité

Hum Hum. En fait les elos augmentent de 10 (En commençant par 50) à chaque pallié. J'ai du aire une erreur de frappe ^^

 

Pour ce qui est de ta proposition, c'est plutôt bien mais les joueurs au dessus de 1000 seront directement au niveau diamant (vu que la plupart des joueurs sont en dessous c'est facile de monté.) Moi je veux du "challenge" !

Sinon merci de ton aide ^^

Partager ce message


Lien à poster
Partager sur d’autres sites

×
×
  • 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.