Advertisement
Guest User

Untitled

a guest
Jun 17th, 2019
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.34 KB | None | 0 0
  1. let expGain = 100;
  2. let levelData = { "1": "0", "2": "10", "3": "17", "4": "27", "5": "40",
  3. "6": "56", "7":"75", "8":"98", "9":"124", "10":"153" }
  4.  
  5. let i = 0;
  6.  
  7. interface ILevelInfo {
  8. level: number;
  9. currentExp: number;
  10. toNextLvExp: number;
  11. totalExp: number;
  12. }
  13.  
  14. let levelInfo: ILevelInfo = {
  15. level: 1,
  16. currentExp: 0,
  17. toNextLvExp: 10,
  18. totalExp: 0
  19. }
  20.  
  21. levelInfo = levelUp(expGain, levelData, levelInfo);
  22. levelInfo.totalExp += expGain;
  23.  
  24. function levelUp(expGain: number, levelData: any, info: ILevelInfo): ILevelInfo {
  25. if (expGain < info.toNextLvExp) {
  26. //expGain = -expGain;
  27. info.currentExp += expGain;
  28. info.toNextLvExp -= info.currentExp;
  29.  
  30. return info;
  31. } else if (expGain >= info.toNextLvExp) {
  32. console.log(expGain + " - " + info.toNextLvExp + " = " + (expGain-info.toNextLvExp));
  33. let leftOver = expGain - info.toNextLvExp;
  34. info.level++;
  35. info.toNextLvExp = parseInt(levelData[info.level+1]);
  36. info.currentExp = 0;
  37.  
  38. return levelUp(leftOver, levelData, info);
  39. }
  40.  
  41. return info;
  42. }
  43.  
  44. console.log("level = " + levelInfo.level);
  45. console.log("currentExp = " + levelInfo.currentExp);
  46. console.log("totalExp = " + levelInfo.totalExp);
  47. console.log("toNextExp = " + levelInfo.toNextLvExp);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement