Partage
  • Partager sur Facebook
  • Partager sur Twitter

Niveau et expérience

Sujet résolu
    24 août 2016 à 16:06:05

    Bonjour à tous,

    Depuis un certain temps je me casse les dents à trouver une formule qui permettrai de calculer un niveau par rapport à des points d'expériences.

    Il faut que cette courbe d'expérience soit rapide exemple ( les chiffres ne sont pas à respecter c'est juste un ordre d’idée)

    NIV 1 - 10expe

    NIV 5 - 1 000 expe

    NIV 10 - 10 000 expe

    NIV 20-  50 000 expe

    NIV 50 - 800 000 expe

    il faut également qu'il n'y est pas de niveau maximal mais que la progression de niveau en niveau soit de plus en plus difficile.

    Merci pour votre aide!

    • Partager sur Facebook
    • Partager sur Twitter
    Venez donner votre avis sur le projet Lived. Réalisez, créez et partagez vos succès avec www.lived.fr
      24 août 2016 à 16:44:03

      Coucou!
      Pour un truc de plus en plus difficile, peut-être la solution de l'exponentielle?
      Ou alors la puissance?

      ça monte de plus en plus vite?
      Par exemple :

      n^2 + 10 :

      NIV1  => 11

      5 => 35

      10 => 110

      20 => 410

      50 => 2510.
      Mais peut etre que c'est pas assez, alors un ^3 ou un ^5 serait plus justifier?

      ^5+10 :

      1 => 11

      5 => 3135

      10 => 10010

      20 => 3200010

      50 => 312500010
      Mais la peut etre que ça fait un peu trop?

      -
      Edité par KirbXCoucou 24 août 2016 à 16:44:57

      • Partager sur Facebook
      • Partager sur Twitter

      « Je n’ai pas besoin de preuve. Les lois de la nature, contrairement aux lois de la grammaire, ne permettent aucune exception. »
      D. Mendeleïev

        24 août 2016 à 16:47:40

        Une base : niveau = log(expé)   qui ressemble un peu à ta demande.

        Une autre base : niveau = racine(expé) , qui ressemble aussi à ta demande.

        Et on peut combiner  :

        niveau = 0.8 * log (expé) + 0.05 * racine(expé)

        Dans mes notations, log représente le logarithme en base 10.  Ca peut s'écrire log(x,10) dans certains langages

        • Partager sur Facebook
        • Partager sur Twitter
          24 août 2016 à 16:58:48

          Je trouvais la formule => ((n^2+n)/2)*10 pas mal mais je n'arrive pas a l'inversé c'est a dire que j'arrive a partir d'un niveau a optenir l'expé


          mais pas a obtenir le niveau a partir de l'expé


          tbc92 a écrit:

          Une base : niveau = log(expé)   qui ressemble un peu à ta demande.

          Une autre base : niveau = racine(expé) , qui ressemble aussi à ta demande.

          Et on peut combiner  :

          niveau = 0.8 * log (expé) + 0.05 * racine(expé)

          Dans mes notations, log représente le logarithme en base 10.  Ca peut s'écrire log(x,10) dans certains langages

          C'est Exactement ce que je recherche ! Maintenant  comment à partir de expérience je peut obtenir niveau?

          Merci pour votre aide!

          -
          Edité par AlTi5 24 août 2016 à 18:20:49

          • Partager sur Facebook
          • Partager sur Twitter
          Venez donner votre avis sur le projet Lived. Réalisez, créez et partagez vos succès avec www.lived.fr
            25 août 2016 à 0:50:39

            AlTi5 a écrit:

            C'est Exactement ce que je recherche ! Maintenant comment à partir de expérience je peut obtenir niveau?

            Ben, tbc92 te l'a dit : niveau = 0.8 * log (XP) + 0.05 * racine(XP)…

            Mais peut-être cherches-tu le contraire (XP = …) ? La fonction suggérée par tbc92 n'est malheureusement pas inversible.

            Tu peux en revanche prendre une fonction beaucoup plus simple qui soit inversible. Par exemple :

            \(\text{niveau} = 10 \cdot \text{XP}^3\)

            \(\displaystyle \text{XP} = \left(\frac{\text{niveau}}{10}\right)^\frac13\)

            -
            Edité par Me Capello 25 août 2016 à 0:55:08

            • Partager sur Facebook
            • Partager sur Twitter
              25 août 2016 à 10:57:38

              C'est effectivement ce que je voulais dire avoir une fonction réversible
              si j'utilise tes formule pour 
              150 xp j'optien:
              calcul du niveau
              -990=10⋅150^3
              calcul de l'xp selon le niveau
              -33=(-990/10)*(1/3)
              ca n'a aucun sens a moins que j'ai mal compris les formules :s

              -
              Edité par AlTi5 25 août 2016 à 10:59:40

              • Partager sur Facebook
              • Partager sur Twitter
              Venez donner votre avis sur le projet Lived. Réalisez, créez et partagez vos succès avec www.lived.fr
                25 août 2016 à 12:12:01

                AlTi5 a écrit:

                C'est effectivement ce que je voulais dire avoir une fonction réversible
                si j'utilise tes formule pour 
                150 xp j'optien:
                calcul du niveau
                -990=10⋅150^3
                calcul de l'xp selon le niveau
                -33=(-990/10)*(1/3)
                ca n'a aucun sens a moins que j'ai mal compris les formules :s

                -
                Edité par AlTi5 il y a environ 1 heure

                Tu as fait une erreur dans la 2e formule. Ce n'est pas le produit du niveau/10 par 1/3 mais niveau/10 à la puissance 1/3, soit une racine cubique.

                Et j'ai du mal à voir comment tu peux trouver une nombre négatif avec un produit de nombre positifs dans ta première formule.

                -
                Edité par Kaihyo 25 août 2016 à 12:13:03

                • Partager sur Facebook
                • Partager sur Twitter
                  25 août 2016 à 12:14:05

                  Attention à ne pas confondre puissance et multiplication. C'est puissance 1/3 et non multiplié par 1/3… ^^

                  Cela dit, j'ai interverti niveau et XP… o_O

                  \(\text{XP} = 10 \cdot \text{niveau}^3\)

                  \(\text{niveau} = \left(\dfrac{\text{XP}}{10}\right)^\frac13 = \sqrt[3]{\dfrac{\text{XP}}{10}} \)

                   XP = 150 → niveau = (150 / 10)^(1/3) ≈ 2.5

                  -
                  Edité par Me Capello 25 août 2016 à 12:20:11

                  • Partager sur Facebook
                  • Partager sur Twitter
                    25 août 2016 à 12:53:36

                    Et comme ce que tu cherches, c'est àmettre cela dans un programme informatique, on va le mettre sous une forme plus directement exploitable :

                    exposant = 3
                    XP = 10 * power(niveau, exposant) 
                    niveau = power ( XP/10 , 1/exposant) 


                    J'ai sorti exposant , tu peux mettre 3, ou 5 ou le nombre que tu veux. Vues les valeurs que tu proposais au début, je partirais avec exposant = 5.

                    La difficulté qui vient ensuite, c'est la gestion des arrondis.  J'imagine que pour 10000 points XP ou 11000 points XP, le niveau est le même: niveau = 10. A partir des points XP , trouver le niveau, c'est facile. Dans l'autre sens c'est un peu plus compliqué :

                    XP1 = 10 * power ( niveau-0.5, exposant)
                    XP2 = 10 * power ( niveau+0.5, exposant)

                    Pour une valeur donnée de niveau, on obtient un intervalle [XP1, XP2[ 

                    • Partager sur Facebook
                    • Partager sur Twitter
                      25 août 2016 à 12:58:49

                      Merci beaucoup @Me Capello meme si cette progression est un peut plus importante je vais partir la dessus :D

                      C'est ok pour ma demande :D

                      • Partager sur Facebook
                      • Partager sur Twitter
                      Venez donner votre avis sur le projet Lived. Réalisez, créez et partagez vos succès avec www.lived.fr
                        25 août 2016 à 13:20:54

                        Je reviens sur :

                        Je trouvais la formule => ((n^2+n)/2)*10 pas mal mais je n'arrive pas a l'inversé c'est a dire que j'arrive a partir d'un niveau a optenir l'expé

                        Remarque : elle ne donne pas les valeurs de ton premier message, mais admettons que ce soit bien cette formule (avec une puissance 10 je suppose).

                        Voilà comment l'inverser :

                        \[ XP = \left( \frac{n^2+n}{2} \right) ^{10} \]

                        \[ \sqrt[10]{XP} = \frac{n^2+n}{2} \]

                        \[ n^2 + n - 2\sqrt[10]{XP} = 0 \] 

                        C'est une équation du second degré, on calcule le discriminant :

                        \[ \Delta = 1^2 - 4 \cdot (1) \cdot (-2\sqrt[10]{XP})  = 1+8\sqrt[10]{XP} \]

                        Il est positif, il y a donc a priori deux solutions :

                        \[ n_1 = \frac{-1 - \sqrt{1+8\sqrt[10]{XP}}}{2} \;\; ; \;\; n_2 = \frac{-1 + \sqrt{1+8\sqrt[10]{XP}}}{2} \]

                        La solution de gauche est négative, mais celle de droite est positive (car l'intérieur de la racine carrée est > 1) ; c'est celle qu'on cherche :

                        \[ n = \frac{-1 + \sqrt{1+8\sqrt[10]{XP}}}{2} \]

                        La formule de départ donne par exemple pour n=2 : XP = 59049. La formule d'arrivée donne pour XP = 59049 : n = 2, ça colle !

                        Si tu as une méthode similaire qui mélange n² et puissance, c'est la même technique : on se débarrasse de la puissance en utilisant une racine n-ième, on se retrouve avec une équations du second degré dont on cherche la solution positive.

                        -
                        Edité par robun 25 août 2016 à 13:31:26

                        • Partager sur Facebook
                        • Partager sur Twitter
                          25 août 2016 à 19:37:57

                          AlTi5 a écrit:

                          Merci beaucoup @Me Capello meme si cette progression est un peut plus importante je vais partir la dessus :D


                          :magicien: Si elle est trop importante, tu peux prendre un exposant un peu plus petit que 3, par exemple 2.9…
                          • Partager sur Facebook
                          • Partager sur Twitter

                          Niveau et expérience

                          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                          • Editeur
                          • Markdown