"PHP" / Говнокод #27582 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
  38. 38
  39. 39
  40. 40
  41. 41
  42. 42
  43. 43
  44. 44
  45. 45
  46. 46
  47. 47
  48. 48
  49. 49
  50. 50
if($account['lvl']=="1"){ $exp=round($account['exp']*100/52);}
if($account['lvl']=="2"){ $exp=round((($account['exp']-52)/(110))*100,2);}
if($account['lvl']=="3"){ $exp=round((($account['exp']-135)/(832-135))*100,2);}
if($account['lvl']=="4"){ $exp=round((($account['exp']-832)/(3547-832))*100,2);}
if($account['lvl']=="5"){ $exp=round((($account['exp']-3547)/(9658-3547))*100,2);}
if($account['lvl']=="6"){ $exp=round((($account['exp']-9658)/(15478-9658))*100,2);}
if($account['lvl']=="7"){ $exp=round((($account['exp']-15478)/(18478-15478))*100,2);}
if($account['lvl']=="8"){ $exp=round((($account['exp']-18478)/(30789-18478))*100,2);}
if($account['lvl']=="9"){ $exp=round((($account['exp']-30789)/(72394-30789))*100,2);}
if($account['lvl']=="10"){ $exp=round((($account['exp']-72394)/(138789-72394))*100,2);}
if($account['lvl']=="11"){ $exp=round((($account['exp']-138789)/(214787-138789))*100,2);}
if($account['lvl']=="12"){ $exp=round((($account['exp']-214787)/(398747-214787))*100,2);}
if($account['lvl']=="13"){ $exp=round((($account['exp']-398747)/(587058-398747))*100,2);}
if($account['lvl']=="14"){ $exp=round((($account['exp']-587058)/(824585-587058))*100,2);}
if($account['lvl']=="15"){ $exp=round((($account['exp']-824585)/(1247858-824585))*100,2);}
if($account['lvl']=="16"){ $exp=round((($account['exp']-1247858)/(1558789-1247858))*100,2);}
if($account['lvl']=="17"){ $exp=round((($account['exp']-1558789)/(1985478-1558789))*100,2);}
if($account['lvl']=="18"){ $exp=round((($account['exp']-1985478)/(2245857-1985478))*100,2);}
if($account['lvl']=="19"){ $exp=round((($account['exp']-2245857)/(2785896-2245857))*100,2);}
if($account['lvl']=="20"){ $exp=round((($account['exp']-2785896)/(3685478-2785896))*100,2);}
if($account['lvl']=="21"){ $exp=round((($account['exp']-3685478)/(4169875-3685478))*100,2);}
if($account['lvl']=="22"){ $exp=round((($account['exp']-4169875)/(5125478-4169875))*100,2);}
if($account['lvl']=="23"){ $exp=round((($account['exp']-5125478)/(5999999-5125478))*100,2);}
if($account['lvl']=="24"){ $exp=round((($account['exp']-5999999)/(7145877-5999999))*100,2);}
if($account['lvl']=="25"){ $exp=round((($account['exp']-7145877)/(8791755-7145877))*100,2);}
if($account['lvl']=="26"){ $exp=round((($account['exp']-8791755)/(10691755-8791755))*100,2);}
if($account['lvl']=="27"){ $exp=round((($account['exp']-10691755)/(12791755-10691755))*100,2);}
if($account['lvl']=="28"){ $exp=round((($account['exp']-12791755)/(15191755-12791755))*100,2);}
if($account['lvl']=="29"){ $exp=round((($account['exp']-15191755)/(18091755-15191755))*100,2);}
if($account['lvl']=="30"){ $exp=round((($account['exp']-18091755)/(21191755-18091755))*100,2);}
if($account['lvl']=="31"){ $exp=round((($account['exp']-21191755)/(24491755-21191755))*100,2);}
if($account['lvl']=="32"){ $exp=round((($account['exp']-24491755)/(27991755-24491755))*100,2);}
if($account['lvl']=="33"){ $exp=round((($account['exp']-27991755)/(31691755-27991755))*100,2);}
if($account['lvl']=="34"){ $exp=round((($account['exp']-31691755)/(35791755-31691755))*100,2);}
if($account['lvl']=="35"){ $exp=round((($account['exp']-35791755)/(40391755-35791755))*100,2);}
if($account['lvl']=="36"){ $exp=round((($account['exp']-40391755)/(45591755-40391755))*100,2);}
if($account['lvl']=="37"){ $exp=round((($account['exp']-45591755)/(51491755-45591755))*100,2);}
if($account['lvl']=="38"){ $exp=round((($account['exp']-51491755)/(58191755-51491755))*100,2);}
if($account['lvl']=="39"){ $exp=round((($account['exp']-58191755)/(65791755-58191755))*100,2);}
if($account['lvl']=="40"){ $exp=round((($account['exp']-65791755)/(74391755-65791755))*100,2);}
if($account['lvl']=="41"){ $exp=round((($account['exp']-74391755)/(83991755-74391755))*100,2);}
if($account['lvl']=="42"){ $exp=round((($account['exp']-83991755)/(94591755-83991755))*100,2);}
if($account['lvl']=="43"){ $exp=round((($account['exp']-94591755)/(106191755-94591755))*100,2);}
if($account['lvl']=="44"){ $exp=round((($account['exp']-106191755)/(118791755-106191755))*100,2);}
if($account['lvl']=="45"){ $exp=round((($account['exp']-118791755)/(132391755-118791755))*100,2);}
if($account['lvl']=="46"){ $exp=round((($account['exp']-132391755)/(146991755-132391755))*100,2);}
if($account['lvl']=="47"){ $exp=round((($account['exp']-146991755)/(162591755-146991755))*100,2);}
if($account['lvl']=="48"){ $exp=round((($account['exp']-162591755)/(179191755-162591755))*100,2);}
if($account['lvl']=="49"){ $exp=round((($account['exp']-179191755)/(196791755-179191755))*100,2);}
if($account['lvl']=="50"){ $exp=round((($account['exp']-196791755)/(215391755-196791755))*100,2);}

Расчет % заполнения шкалы уровня в зависимости от опыта

Запостил: EndoCrinolog EndoCrinolog, (Updated )

Комментарии (26) RSS

  • Гу и как бы ты это сделал, мм? Что, не знаешь? А человек хотя бы попробовал, постарался.
    Ответить
    • Ну хотя бы сложить экспу для каждого уровня в массив, а потом в одну строчку по нему получать нужное значение...
      Ответить
  • А почему такие странные границы между левлами, их от балды руками писали что ли?

    До шестого левла видно рост, на каждый уровень нужно всё больше и больше экспы. И вдруг на седьмом-восьмом просадка, их получить легче чем шестой. Потом в районе 13-14 опять какая-то херня, выбивающаяся из графика...
    Ответить
    • Первая и вторая производные няобходимого опыта:
      >>> e = [x - y for (x, y) in zip(exp[1:], exp)]; e
      [83, 697, 2715, 6111, 5820, 3000, 12311, 41605, 66395,
       75998, 183960, 188311, 237527, 423273, 310931, 426689,
       260379, 540039, 899582, 484397, 955603, 874521, 1145878,
       1645878, 1900000, 2100000, 2400000, 2900000, 3100000, 3300000,
       3500000, 3700000, 4100000, 4600000, 5200000, 5900000, 6700000,
       7600000, 8600000, 9600000, 10600000, 11600000, 12600000, 13600000,
       14600000, 15600000, 16600000, 17600000]
      >>> e = [x - y for (x, y) in zip(e[1:], e)]; e
      [614, 2018, 3396, -291, -2820, 9311, 29294, 24790, 9603,
       107962, 4351, 49216, 185746, -112342, 115758, -166310, 279660,
       359543, -415185, 471206, -81082, 271357, 500000, 254122, 200000,
       300000, 500000, 200000, 200000, 200000, 200000, 400000, 500000,
       600000, 700000, 800000, 900000, 1000000, 1000000, 1000000, 1000000,
       1000000, 1000000, 1000000, 1000000, 1000000, 1000000]

      Видня, что в нячале уровни подбирались няобум, а с середины нячинаются какие-то разорванные куски степенных функций.
      Ответить
      • > няобум

        Попытка привязать к ранним квестам, чтобы нужные уровни вовремя набились по сюжету?
        Ответить
          • >*100,2

            Проиграл с говноэпсилона в плавающем питухе.
            Вероятно чтобы результат был гарантировано больше 100.
            А ниже стоит $exp = min(100, $exp) или if ($exp >= 100)
            Ответить
    • Вот вам тут ха-ха, а я играл в игру, где был максимальный уровень прокачки (не помню, какой именно, пусть будет 30) и был предмет, требующий 30 уровня. Не помню, сколько времени я вдолбил на прокачку с 29 до 30 уровня, но в итоге оказалось, что из-за бага (или нет? :trollface: ) значение опыта просто пробегало мимо и 30 уровня не получалось.
      Ответить
  • if($account['lvl']==N){ $exp=round((($account['exp']-N*3935835.1)/(N*4307835.1-N*3935835.1))*100,2);}
    Ответить
    • Ну и что? Думаешь, это хороший код? Это типичный односторочник: ничего не понятно, да ещё и бага и есть, наверняка! Явное лучше неявного, вообще-то. Надо не лениться, а писать побольше, за это вообще-то зарплату платят.
      Ответить
    • > /(N*4307835.1-N*3935835.1))*100,2
      N можно вынести как общий множитель и продолжить constant propagation
      Ответить
  • - Я так раньше никогда не делала. Мне понравилось. А тебее? - сказала она после того, как я влил в неё свой заряд и, уставший, уселся прямо на ковролин на полу кабинета.
    Ответить
  • - Я так раньше никогда не делала. Мне понравилось. А тебее? - сказала она после того, как я влил в неё свой заряд и, уставший, уселся прямо на ковролин на полу кабинета.
    Ответить
  • На краю кровати безжизненным телом лежала Настя ее всю в сенниках, ссадинах и кровоподтеках трахал какай-то пидар.
    Ответить
  • Мы забрызгивали Натку спермой с головы до ног! Буквально! Сперма была у нее на лице, на животе, на ногах, на волосах…
    Ответить
  • Мы забрызгивали Натку спермой с головы до ног! Буквально! Сперма была у нее на лице, на животе, на ногах, на волосах…
    Ответить

Добавить комментарий

Где здесь C++, guest?!

    А не использовать ли нам bbcode?


    8