Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- let expGain = 100;
- let levelData = { "1": "0", "2": "10", "3": "17", "4": "27", "5": "40",
- "6": "56", "7":"75", "8":"98", "9":"124", "10":"153" }
- let i = 0;
- interface ILevelInfo {
- level: number;
- currentExp: number;
- toNextLvExp: number;
- totalExp: number;
- }
- let levelInfo: ILevelInfo = {
- level: 1,
- currentExp: 0,
- toNextLvExp: 10,
- totalExp: 0
- }
- levelInfo = levelUp(expGain, levelData, levelInfo);
- levelInfo.totalExp += expGain;
- function levelUp(expGain: number, levelData: any, info: ILevelInfo): ILevelInfo {
- if (expGain < info.toNextLvExp) {
- //expGain = -expGain;
- info.currentExp += expGain;
- info.toNextLvExp -= info.currentExp;
- return info;
- } else if (expGain >= info.toNextLvExp) {
- console.log(expGain + " - " + info.toNextLvExp + " = " + (expGain-info.toNextLvExp));
- let leftOver = expGain - info.toNextLvExp;
- info.level++;
- info.toNextLvExp = parseInt(levelData[info.level+1]);
- info.currentExp = 0;
- return levelUp(leftOver, levelData, info);
- }
- return info;
- }
- console.log("level = " + levelInfo.level);
- console.log("currentExp = " + levelInfo.currentExp);
- console.log("totalExp = " + levelInfo.totalExp);
- console.log("toNextExp = " + levelInfo.toNextLvExp);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement