Jak wyliczyć punkty do kolejnego poziomu ?

0

Serwus. Chodzi o grę w której zdobywa się punkty i po przejściu określonej granicy punktów gracz ma zwiększony poziom o 1. Dla przykładu gracz zaczyna i ma Level:1 oraz próg 10 punktów. Teraz wykonuje jakieś czynności i jak zdobędzie w sumie 10 lub więcej punktów to przechodzi na Level:2 a próg np wynosi teraz 13 punktów. Próbowałem zrobić tak, że zaczynam od progu 10 pkt i co poziom wzrasta o 10% ale przy Level:100 bylo już niewyobrażalnie dużo punktów. Jak rozwiązać ten problem tak by dla Level: 300 był to poziom około 2700-3000 tys punktów a dla Level: 600 było to około 7 tysięcy punktów.

0

3000tys czy 3000? Bo to różnica.
Tak ogólnie to prosta matematyka(?) na 300 poziomie masz mieć 3000pkt (ew. 3 000 000, nie wiem co w końcu chciałeś, ale sprowadza się do tego samego), czyli 3000pkt/300poziomów = 10pkt/1poziom - w każdym kolejnym poziomie masz mieć 10 dodatkowych punktów.

P.S. Zdecydowanie nie ten dział

0

Chodzilo mi o 3000 punktow nie 3000 tysiecy masz racje zle napisalem. 3 tysiace i nie mam pomyslu jak to zrobic. A czemu nie ten dział ? przeciez to algorytmy ??? czyż nie ?

0

To chyba nie rozumiem problemu. Dlaczego nie zwiększasz w każdym poziomie ilości punktów o 10?

1

Możesz sobie popróbować coś tutaj
http://www.wolframalpha.com/input/?i=solve+10*%28x^300%29-3000%3D0

Ale nie zawsze da się wyliczyć to dla jednego x tak jakbyś chciał (tj. np dla poziomu 300 = 3000xp, 600 = 7000xp)
Musiałbyś pomyśleć coś ze zmiennym x.

0

Chodzi o to ze ma to rosnac wykladniczo nie na sztywno o te sama ilosc punktow. Jak robie procentowo to przy 200 poziomie mam ponad 19 tys punktow. A trzeba dopasowac poziomy do testow jak to sie bedzie grać i zmieniać dlatego myslalem o jakiejs funkcji logarytmicznej moze ale nie mam pomyslu i czytam teraz zaleglosci ze studiow :D

0

Tzn. pytasz jak dodawać i mnożyć?

0

Hiperbola

1

Najprostszym sposobem na wyliczenie punktów doświadczenia do zdobycia kolejnego poziomu doświadczenia jest wykorzystać do tego procentowanie lub pierwiastkowanie, a najlepiej jedno i drugie. Nie musisz się bawić w żadne logarytmy.
By to wyliczyć stosujesz coś w tym rodzaju:
nextLevelExp = actualLevelExp + ( actualLevelExp * INTERVAL );
nextLevelExp += sqrt( actualLevelExp );
Określasz procentowo ile wymagasz dodatkowo punktów, względem obecnego poziomu dośw. Do tego dodajesz pierwiastek i tyle.

Tak to wygląda w praktyce:
Początkowe 10 exp, skok o 10%:

Level: 2 Exp: 14
Level: 3 Exp: 19
Level: 4 Exp: 25
Level: 5 Exp: 32
Level: 6 Exp: 40
Level: 7 Exp: 50
Level: 8 Exp: 62
Level: 9 Exp: 76
Level: 10 Exp: 92
Level: 11 Exp: 110
Level: 12 Exp: 131
Level: 13 Exp: 155
Level: 14 Exp: 182
Level: 15 Exp: 213
Level: 16 Exp: 248
Level: 17 Exp: 288
Level: 18 Exp: 333
Level: 19 Exp: 384
Level: 20 Exp: 441
Level: 21 Exp: 506
Level: 22 Exp: 579
Level: 23 Exp: 660
Level: 24 Exp: 751
Level: 25 Exp: 853
Level: 26 Exp: 967
Level: 27 Exp: 1094
Level: 28 Exp: 1236
Level: 29 Exp: 1394
Level: 30 Exp: 1570
Level: 31 Exp: 1766
Level: 32 Exp: 1984
Level: 33 Exp: 2226
Level: 34 Exp: 2495
Level: 35 Exp: 2794
Level: 36 Exp: 3126
Level: 37 Exp: 3494
Level: 38 Exp: 3902
Level: 39 Exp: 4354
Level: 40 Exp: 4855
Level: 41 Exp: 5410
Level: 42 Exp: 6024
Level: 43 Exp: 6704
Level: 44 Exp: 7456
Level: 45 Exp: 8287
Level: 46 Exp: 9206
Level: 47 Exp: 10222
Level: 48 Exp: 11345
Level: 49 Exp: 12586
Level: 50 Exp: 13956
Level: 51 Exp: 15469
Level: 52 Exp: 17140
Level: 53 Exp: 18984
Level: 54 Exp: 21020
Level: 55 Exp: 23266
Level: 56 Exp: 25745
Level: 57 Exp: 28479
Level: 58 Exp: 31495
Level: 59 Exp: 34821
Level: 60 Exp: 38489
Level: 61 Exp: 42534
Level: 62 Exp: 46993
Level: 63 Exp: 51909
Level: 64 Exp: 57327
Level: 65 Exp: 63299
Level: 66 Exp: 69880
Level: 67 Exp: 77132
Level: 68 Exp: 85122
Level: 69 Exp: 93925
Level: 70 Exp: 103623
Level: 71 Exp: 114307
Level: 72 Exp: 126075
Level: 73 Exp: 139037
Level: 74 Exp: 153313
Level: 75 Exp: 169035
Level: 76 Exp: 186349
Level: 77 Exp: 205415
Level: 78 Exp: 226409
Level: 79 Exp: 249525
Level: 80 Exp: 274977
Level: 81 Exp: 302999
Level: 82 Exp: 333849
Level: 83 Exp: 367811
Level: 84 Exp: 405198
Level: 85 Exp: 446354
Level: 86 Exp: 491657
Level: 87 Exp: 541523
Level: 88 Exp: 596411
Level: 89 Exp: 656824
Level: 90 Exp: 723316
Level: 91 Exp: 796498
Level: 92 Exp: 877040
Level: 93 Exp: 965680
Level: 94 Exp: 1063230
Level: 95 Exp: 1170584
Level: 96 Exp: 1288724
Level: 97 Exp: 1418731
Level: 98 Exp: 1561795
Level: 99 Exp: 1719224
Level: 100 Exp: 1892457

Początkowe 10 exp, skok o 1%:

Level: 2 Exp: 13
Level: 3 Exp: 16
Level: 4 Exp: 20
Level: 5 Exp: 24
Level: 6 Exp: 29
Level: 7 Exp: 34
Level: 8 Exp: 40
Level: 9 Exp: 46
Level: 10 Exp: 53
Level: 11 Exp: 60
Level: 12 Exp: 68
Level: 13 Exp: 76
Level: 14 Exp: 85
Level: 15 Exp: 95
Level: 16 Exp: 105
Level: 17 Exp: 116
Level: 18 Exp: 127
Level: 19 Exp: 139
Level: 20 Exp: 152
Level: 21 Exp: 165
Level: 22 Exp: 179
Level: 23 Exp: 194
Level: 24 Exp: 209
Level: 25 Exp: 225
Level: 26 Exp: 242
Level: 27 Exp: 259
Level: 28 Exp: 277
Level: 29 Exp: 296
Level: 30 Exp: 316
Level: 31 Exp: 336
Level: 32 Exp: 357
Level: 33 Exp: 379
Level: 34 Exp: 402
Level: 35 Exp: 426
Level: 36 Exp: 450
Level: 37 Exp: 475
Level: 38 Exp: 501
Level: 39 Exp: 528
Level: 40 Exp: 556
Level: 41 Exp: 585
Level: 42 Exp: 615
Level: 43 Exp: 645
Level: 44 Exp: 676
Level: 45 Exp: 708
Level: 46 Exp: 741
Level: 47 Exp: 775
Level: 48 Exp: 810
Level: 49 Exp: 846
Level: 50 Exp: 883
Level: 51 Exp: 921
Level: 52 Exp: 960
Level: 53 Exp: 1000
Level: 54 Exp: 1041
Level: 55 Exp: 1083
Level: 56 Exp: 1126
Level: 57 Exp: 1170
Level: 58 Exp: 1215
Level: 59 Exp: 1262
Level: 60 Exp: 1310
Level: 61 Exp: 1359
Level: 62 Exp: 1409
Level: 63 Exp: 1460
Level: 64 Exp: 1512
Level: 65 Exp: 1566
Level: 66 Exp: 1621
Level: 67 Exp: 1677
Level: 68 Exp: 1734
Level: 69 Exp: 1792
Level: 70 Exp: 1852
Level: 71 Exp: 1913
Level: 72 Exp: 1975
Level: 73 Exp: 2039
Level: 74 Exp: 2104
Level: 75 Exp: 2170
Level: 76 Exp: 2238
Level: 77 Exp: 2307
Level: 78 Exp: 2378
Level: 79 Exp: 2450
Level: 80 Exp: 2523
Level: 81 Exp: 2598
Level: 82 Exp: 2674
Level: 83 Exp: 2752
Level: 84 Exp: 2831
Level: 85 Exp: 2912
Level: 86 Exp: 2995
Level: 87 Exp: 3079
Level: 88 Exp: 3165
Level: 89 Exp: 3252
Level: 90 Exp: 3341
Level: 91 Exp: 3432
Level: 92 Exp: 3524
Level: 93 Exp: 3618
Level: 94 Exp: 3714
Level: 95 Exp: 3812
Level: 96 Exp: 3911
Level: 97 Exp: 4012
Level: 98 Exp: 4115
Level: 99 Exp: 4220
Level: 100 Exp: 4327
0

Dzięki Dampe na podstawie tego udało mi się zrobić takie coś:

edge_level = ((Aktualny_Level^2+Aktualny_Level)/20.04-(Aktualny_Level0.04))+10

i tak jesli mamy aktualny level = 300 to wynik da nam = 1804
a przy aktualnym_levelu = 600 wynik to 7198
czyli ogólnie zbliżone do tego co chciałem osiągnąć
bo te wartości wyżej przy Level = 100 są troszkę za wysokie
Dzięki za pomoc :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1