Autor | Zpráva | ||
---|---|---|---|
stepi15 Profil |
#1 · Zasláno: 17. 8. 2008, 14:42:58
dobry den poreboval bych tento vzorec obratit
function experience($L) { $a=0; for($x=1; $x<$L; $x++) { $a += floor($x+300*pow(2, ($x/7))); } return floor($a/4); } $sad = $cilovy_lvl; $cilovy_xp = experience($sad); kdyz promenou $cilovy_lvl dam 2 tak $cilovy_xp se bude rovnat 83 a ja bych potreboval ze budu davat promenou $cilovy_xp a bude me to pocitat $cilovy_lvl predem diky jestli se bude nekomu chtit |
||
nightfish Profil |
#2 · Zasláno: 17. 8. 2008, 14:49:22
pokud $cilovy_lvl je celé číslo v nějakých rozumných hranicích (řekněme 0..1000), tak bych si pro každý level spočítal hodnotu $cilovy_xp a pak podle hodnoty $cilovy_xp vyhledával v takto vzniklé "tabulce"
|
||
stepi15 Profil |
#3 · Zasláno: 17. 8. 2008, 14:50:37 · Upravil/a: stepi15
no cilovy xp je bude od 83 az do 13034431
a cilovy lvl je od 2 do 99 v celych cislech |
||
nightfish Profil |
#4 · Zasláno: 17. 8. 2008, 16:53:40
stepi15
„a cilovy lvl je od 2 do 99 v celych cislech“ $pole = array(); for ($lvl=2; $lvl<=99; $lvl++) { $pole[$lvl] = experience($lvl); } function getLevel($xp) { global $pole; $lvl = 2; while ($pole[$lvl] < $xp) $lvl++; return $lvl; } (samozřejmě pole $pole si někam uložíš předgenerované, nebudeš ho vypočítávat při každém načtení stránky) (algoritmus počítá s tím, že levely jsou celá čísla, tzn. např. hodnoty 442 a 443 odpovídají stejnému číslu levelu...) |
||
stepi15 Profil |
#5 · Zasláno: 17. 8. 2008, 17:03:14 · Upravil/a: stepi15
takze me toto vypocitat z cisla 83 a vysledek by mek byt 2
uz sjem anto prisel ale ovlivnuje me to ten vzorec ja tam mam totiz 2 ten puvodni a ten obraceny |
||
Časová prodleva: 16 let
|
0