Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from math import floor, pow
- import sys
- def chunked_number(n, sep=' '):
- return sep.join(map(''.join, chunk_by(3, str(n))))
- def chunk_by(n, iterable):
- i = iter(reversed(iterable))
- groups = map(reversed, reversed(list(zip(*([i]*n)))))
- rest = iterable[:len(iterable) % n]
- result = map(list, [rest, *groups])
- return result
- def computeLevelUpCost(lvl):
- levelUpCosts = [10, 20, 24, 28, 34, 40, 45]
- if lvl < 8:
- return levelUpCosts[lvl - 1]
- if lvl < 16:
- return 12 * lvl
- if lvl < 50:
- return 5 * (floor(lvl**1.35) + 21)
- return 50000 + 10 * floor(pow(125 * max(0, lvl - 50), 1.35))
- if __name__ == '__main__':
- max_level = len(sys.argv) == 2 and int(sys.argv[1]) or 150
- for level in range(1, max_level):
- pretty_xp = chunked_number(computeLevelUpCost(level))
- print(f'{level:<7}->{level+1:>7} {pretty_xp:>15}')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement