| Voir le sujet précédent :: Voir le sujet suivant |
| Auteur |
Message |
Ethaniel Nain-tégré(e)

Inscrit le: 29 Sep 2003 Messages: 486 Localisation: Zauer, capitale du royaume de Rainwan
|
Posté le: Jeu 08 Jan, 2004 2:00 Sujet du message: Re: JavaScript |
|
|
| Citation: | | n = E ( sqrt (1 + xp/5) ) | Gloups !
J'ai totalement biglé sur l'emplacement des parenthèses ... on va dire que c'était à cause de l'heure (1h38 du mat').
Donc même simplifié, le n est un chouia plus complexe que celui que j'ai mis ...
Sinon, j'ai trouvé la formule donnant le niveau en fonction du nombre total d'XP gagnés, formule strictement conforme à ce que disent les règles !
En plus, je pensais que ça allait être dur, mais 10 minutes m'ont suffi à l'établir, la simplifier, l'optimiser (un round(x) au lieu d'un floor(x+1/2)), et la vérifier jusqu'au niveau 100 (vive la génération de tableau HTML à 6621 lignes en PHP ! Pourquoi 6621 ? Parce que l'on passe (devrait passer) niveau 100 lorsque l'on gagne son 6620ème XP).
D'abord, le nombre d'XP nécessaire pour attribuer un nouveau point de carac ...
Je note PVB le nombre de PV de Base (hors runes) affectés, de même pour les autres caracs : | Code: | $XP_par_Carac = floor ( ($PVB + $PFB + $PPB + $PIB - 170) / 20 )
= round ( ($PVB + $PFB + $PPB + $PIB - 180) / 20 ) |
Ensuite, le niveau en fonction du nombre total d'XP gagnés : | Code: | [ ( 2*$XP_totaux + 25 ) ]
$Zone = round [ sqrt ( ----------------- ) ] ;
[ ( 20 ) ]
( $XP_totaux + 10*$Zone*$Zone - 15*$Zone + 10 )
$Niveau = floor ( ------------------------------------------- ) ;
( 5*$Zone ) |
Voilà voilà !
@++
Edith viens de me dire qu'elle a ajouté des billets verts un peu partout, et qu'elle a fait de belles fractions ...
Et qu'elle a corrigé une faute de frappe.
Dernière édition par Ethaniel le Sam 14 Fév, 2004 19:31; édité 2 fois |
|
| Revenir en haut de page |
|
 |
Haiken L'idole des naines, le Zorro des pubs

Inscrit le: 06 Mai 2002 Messages: 2495
|
Posté le: Jeu 08 Jan, 2004 2:36 Sujet du message: |
|
|
heu et ma formule de départ, elle était bonne alors ?
tes nouvelles formules, elles changent rien à part le fait d'être plus simples ? |
|
| Revenir en haut de page |
|
 |
Ethaniel Nain-tégré(e)

Inscrit le: 29 Sep 2003 Messages: 486 Localisation: Zauer, capitale du royaume de Rainwan
|
Posté le: Jeu 08 Jan, 2004 3:28 Sujet du message: Re: Montée en niveaux |
|
|
Si je la simplifie (sans me tromper cette fois), en considérant uniquement XP>10 (on se moque en fait de ce seuil), et en la faisant ressembler à la mienne, ça donne : | Code: | $n = floor ( sqrt ( (2*xp + 25) / 20 ) - 3/2 )
= round ( sqrt ( (2*xp + 25) / 20 ) - 2 ) = $Zone - 2
e = floor ( 10+20*n + (xp - ((2*n + n*(n-1)/2)*20+10) )/(n+2) )
= floor ( (xp + 10(n+1)²) / (n+2) )
= floor ( (xp + 10($Zone-1)²) / $Zone )
= floor ( (xp + 10*$Zone*$Zone - 20*$Zone + 10) / $Zone )
niveau = floor (e/5) + 1
= floor ( (xp + 10(n+1)² + 5(n+2)) / (5(n+2)) )
= floor ( (xp + 10*$Zone*$Zone - 15*$Zone + 10) / (5*$Zone) ) | C'est donc la même chose que moi ...
Alors là, je dois avouer que je ne comprends PLUS RIEN !!!
Je cherche une formule qui correspond à ce que disent les règles, j'en trouve une, la tienne est en fait équivalente ... mais ça ne colle pas avec ce que disent les règles.
Bon, je crois que je vais aller me coucher, parce que là, je n'arrive plus du tout à réfléchir convenablement ...
@++ |
|
| Revenir en haut de page |
|
 |
le_schtroumpf Nain-dispensable

Inscrit le: 23 Avr 2003 Messages: 1378 Localisation: Aix en Provence
|
Posté le: Jeu 08 Jan, 2004 4:29 Sujet du message: |
|
|
mdr... si ca peut vous rassurer, moi je suis complètement paumé... mais alors complètement!  |
|
| Revenir en haut de page |
|
 |
Kanji Nain-dispensable

Inscrit le: 01 Juin 2003 Messages: 1524 Localisation: where time stand still, no one leaves and no one will...
|
Posté le: Jeu 08 Jan, 2004 12:26 Sujet du message: |
|
|
LOL bin moi pareil...
j'ai vu vos trucs et ma réaction ne s'est pas faite attendre:
AAAAAAAAAAAAAAAAAAAHHHHHHHHHHHHHHHHHHHHHHHH!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
QUELLE HORREUR MON DIEU DES MATHS!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
|
| Revenir en haut de page |
|
 |
Haiken L'idole des naines, le Zorro des pubs

Inscrit le: 06 Mai 2002 Messages: 2495
|
Posté le: Jeu 08 Jan, 2004 12:40 Sujet du message: |
|
|
| Kanshi a écrit: |
AAAAAAAAAAAAAAAAAAAHHHHHHHHHHHHHHHHHHHHHHHH!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
QUELLE HORREUR MON DIEU DES MATHS!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
c'est ce que je me suis dit lorsque j'ai du chercher la formule... et que personne n'a pu m'aider
pourtant ça ralait dans tous les sens contre le stockage d'XP... |
|
| Revenir en haut de page |
|
 |
AlyumdrA Nain-doré(e)

Inscrit le: 17 Mar 2003 Messages: 3085 Localisation: Dans mon Chateau au pied de l'Oasis !!!
|
Posté le: Jeu 08 Jan, 2004 12:44 Sujet du message: |
|
|
Vos formule son sympa mais pour vous aider c'est chaud !!!
On connait meme pas les variable
C'est koi : n ? |
|
| Revenir en haut de page |
|
 |
Frór Nain-doré(e)

Inscrit le: 12 Déc 2003 Messages: 1956 Localisation: monde des #RAMPANT
|
Posté le: Jeu 08 Jan, 2004 12:51 Sujet du message: |
|
|
| une variable temporaire qui revient trop de fois dans la formule d'après que pour être calculée encore et encore ! |
|
| Revenir en haut de page |
|
 |
Haiken L'idole des naines, le Zorro des pubs

Inscrit le: 06 Mai 2002 Messages: 2495
|
Posté le: Jeu 08 Jan, 2004 12:54 Sujet du message: |
|
|
j'sais plus mais de toute façon tu arrives un peu un an trop tard  |
|
| Revenir en haut de page |
|
 |
AlyumdrA Nain-doré(e)

Inscrit le: 17 Mar 2003 Messages: 3085 Localisation: Dans mon Chateau au pied de l'Oasis !!!
|
Posté le: Jeu 08 Jan, 2004 13:02 Sujet du message: |
|
|
| Haiken a écrit: | j'sais plus mais de toute façon tu arrives un peu un an trop tard  |
J'y peut rien si j'avait pas vu qu'il y avait un forum aussi a nainwak
Perdu 5 mois de flood.....  |
|
| Revenir en haut de page |
|
 |
[GND]Arwall Généralement désarmant

Inscrit le: 22 Mai 2002 Messages: 6702
|
Posté le: Jeu 08 Jan, 2004 13:17 Sujet du message: |
|
|
| Citation: | pourtant ça ralait dans tous les sens contre le stockage d'XP...
|
t'as vu mon niveau en math ??
je sais que compter les bieres moi ! |
|
| Revenir en haut de page |
|
 |
I GuilliuS I Nain-tégré(e)

Inscrit le: 10 Mai 2003 Messages: 736 Localisation: DTC Dobmec
|
Posté le: Jeu 08 Jan, 2004 14:58 Sujet du message: |
|
|
| [GND]Arwall a écrit: | | Citation: | pourtant ça ralait dans tous les sens contre le stockage d'XP...
|
t'as vu mon niveau en math ??
je sais que compter les bieres moi ! |
Et t'arrives à combien sans te planter ?  |
|
| Revenir en haut de page |
|
 |
Ethaniel Nain-tégré(e)

Inscrit le: 29 Sep 2003 Messages: 486 Localisation: Zauer, capitale du royaume de Rainwan
|
Posté le: Jeu 08 Jan, 2004 15:02 Sujet du message: Re: JavaScript |
|
|
| Ethaniel a écrit: | Sinon, j'ai trouvé la formule donnant le niveau en fonction du nombre total d'XP gagnés, formule strictement conforme à ce que disent les règles !
En plus, je pensais que ça allait être dur, mais 10 minutes m'ont suffi à l'établir, la simplifier, l'optimiser, et la vérifier jusqu'au niveau 100. | Si vous avez besoin d'aide en Maths, je pourrais toujours tenter de vous aider !
La variable n, c'est comme ma variable $Zone, à 2 unités près (et au lieu de diviser par (n+2), je divise par $Zone ).
D'abord, explicitons la formule des XP nécessaires pour 1 point de carac (que j'appelerai PC ici ...) en fonction des caracs déjà distribuées.
On commence avec 200 PC, puis les 10 premiers PC coûtent 1 XP chacun.
Ensuite, les 20 PC suivants coûtent 2 XP chacun, puis les 20 PC d'après coûtent 3 XP, puis 4 XP pour les 20 PC suivants, etc., je pense que vous voyez ce que je veux dire.
Et bien les 10 premiers PC à 1 XP correspondent à $Zone == 1, les 20 PC à 2 XP correspondent à $Zone == 2, les 20 PC à 3 XP correspondent à $Zone == 3, etc., ce n'est pas plus compliqué que ça !
Sinon, pour le bug, j'ai trouvé l'explication, grâce à un gars de ma guilde présent sur ma case (ça aide, pour la détection mutuelle ).
De même, explicitons les calculs, avec d'abord le cas de mon co-guildé comme cas témoin.
D'après sa fiche de perso, il a actuellement 433 PC répartis, et 1 XP non affecté en PC (sans blague !).
433 PC, ça fait 200 PC de départ + 10 PC de $Zone 1 (coûtant 1 XP) + 20 PC de $Zone 2 + 20 PC de $Zone 3 + ... + 20 PC de $Zone 12 + 3 PC de $Zone 13.
Son nombre total d'XP, à partir duquel est calculé le niveau, vaut :
XP_totaux = 10*1 + 20*2 + 20*3 + 20*4 + ... + 20*12 + 3*13 + 1 = 1590
Et d'après le source de ma détection, il a bien 1590 XP totaux.
Prenons maintenant le cas de Predator : il a actuellement 465 PC répartis, et 5 XP non affectés.
465 PC, ça fait 200 PC de départ + 10 PC de $Zone 1 (coûtant 1 XP) + 20 PC de $Zone 2 + 20 PC de $Zone 3 + ... + 20 PC de $Zone 13 + 15 PC de $Zone 14.
Mon nombre total d'XP vaut :
XP_totaux = 10*1 + 20*2 + 20*3 + 20*4 + ... + 20*13 + 15*14 + 5 = 2025
Et d'après le source de la détection de mon co-guildé (ce à quoi je n'ai pas accès tout seul, et qui m'empêchait de trouver la source du bug), j'ai ... 1985 XP totaux.
C'est cette valeur plus faible que ce que j'observe d'après mes PC qui explique mon niveau un peu plus faible.
Et la différence vaut tout juste 40 XP ... soit 2 rébus !!!
Donc, en fait, lorsque l'on gagne des XP avec le rébus, ça permet d'avoir des PC en plus, mais les 20 XP ne s'ajoutent pas aux XP totaux, donc ne font pas monter en niveau.
Ainsi, un rampant nain-déci qui ne frappe jamais personne reste à 0 XP totaux, donc reste au niveau 1, mais s'il gagne le rébus chaque semaine, il peut tout de même augmenter ses PC, sans que ça se voie de l'extérieur, puisqu'il reste toujours de niveau 1 ...
Voilà voilà, voici un nouveau mystère résolu !
@++
P.S: Pourquoi, à chaque fois que je fais un post avec un tout petit peu de Maths qui se baladent, tout le monde se met à crier ?
Ca me fait penser au forum Diablo II - LoD que je squattais autrefois (sous un autre pseudo), lorsque je décortiquais les fichiers MPQs du jeu, ou lorsque je corrigeais les formules données par Myrdinn Sensei (mon Maître), formules qu'il trouve en désassemblant les DLLs du jeu ...
Franchement, je ne comprend pas ! |
|
| Revenir en haut de page |
|
 |
catharsis Nain-stallé(e)
Inscrit le: 16 Avr 2003 Messages: 215
|
Posté le: Jeu 08 Jan, 2004 16:20 Sujet du message: |
|
|
| Bien joué Ethaniel. Belle preuve. |
|
| Revenir en haut de page |
|
 |
Ethaniel Nain-tégré(e)

Inscrit le: 29 Sep 2003 Messages: 486 Localisation: Zauer, capitale du royaume de Rainwan
|
Posté le: Ven 09 Jan, 2004 3:27 Sujet du message: C'est malin ! |
|
|
C'est vraiment malin !
Maintenant, il y a une différence de 60 XP (huhu ) entre les XP totaux servant à calculer mon niveau et les XP totaux servant à affecter des points de carac ...
@++ |
|
| Revenir en haut de page |
|
 |
Dylandau Nez en trompette

Inscrit le: 18 Juin 2002 Messages: 1027 Localisation: Ping Pong perpétuel
|
Posté le: Ven 09 Jan, 2004 10:34 Sujet du message: |
|
|
Mais arrêtez le celui là...  |
|
| Revenir en haut de page |
|
 |
Gatts Serial Codeur.
Inscrit le: 19 Sep 2002 Messages: 1470
|
Posté le: Ven 09 Jan, 2004 10:39 Sujet du message: |
|
|
| Vouep car il y a deux chmap dans la base pour les XP, les XP pour calculer le niveau et les XP (je me demnde bien à quoi ils servent ceux là). Et lorsque tu gagnes de l'XP au rébus c'est le deuxième champ qui est updaté et pas le premier (alors qu'en cas d'attaque on update les deux, c'est donc un oublie qui peut être vite corrigé), sinon effectivement beau boulot. |
|
| Revenir en haut de page |
|
 |
tomãs RENO Nain-stallé(e)

Inscrit le: 05 Mai 2003 Messages: 233 Localisation: Ailleurs
|
Posté le: Ven 09 Jan, 2004 10:45 Sujet du message: |
|
|
| Citation: |
La solution a été trouvée vendredi 09 janvier 2004 à 03h22m32s.
|
mais tu ne dors jamais???
Pourquoi les rébus sont ils réservés aux insomniaques? |
|
| Revenir en haut de page |
|
 |
La Hire Nain(e) à l'aise

Inscrit le: 18 Mar 2003 Messages: 125
|
Posté le: Ven 09 Jan, 2004 11:06 Sujet du message: |
|
|
| C'est vrai que ca pourrait etre sympa de mettre les rébus le midi de temps en temps par exemple ou a d'autre moment de la journée pour changer un peu |
|
| Revenir en haut de page |
|
 |
Frór Nain-doré(e)

Inscrit le: 12 Déc 2003 Messages: 1956 Localisation: monde des #RAMPANT
|
Posté le: Ven 09 Jan, 2004 11:09 Sujet du message: |
|
|
Tout à fait d'accord ! Parce que je suis quand même resté planqué derrière mon pc à cliquer toutes les 2 minutes sur [les rébus de Sphaks], pour essayer de le choper, pour une fois, et pas de chance, c'était à 3h00 du mat' ! Y'a des nains qui dorment à cette heure-là, hein  |
|
| Revenir en haut de page |
|
 |
|