Advertisement
Guest User

Untitled

a guest
Sep 17th, 2019
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.17 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4.  
  5. namespace THROWAWAYLevelAutoCalculator
  6. {
  7. internal class Program
  8. {
  9. private static void Main(string[] args)
  10. {
  11. var stats = 1000;
  12.  
  13. var skillList = new List<Skill>
  14. {
  15. new Skill("Skill 1", 1, 1),
  16. new Skill("Skill 2", 2, 2),
  17. new Skill("Skill 3", 3, 3),
  18. new Skill("Skill 4", 4, 4),
  19. new Skill("Skill 5", 5, 5),
  20. new Skill("Skill 6", 6, 6),
  21. new Skill("Skill 7", 7, 7),
  22. };
  23.  
  24. while (stats >= 0)
  25. {
  26. var skill = skillList
  27. .Where(x => x.IsMaxed == false)
  28. .Aggregate((seed, f) => f.ExpToLevel < seed.ExpToLevel ? f : seed);
  29.  
  30. if (stats - skill.ExpToLevel >= 0)
  31. {
  32. stats -= skill.ExpToLevel;
  33. skill.LevelUp();
  34. }
  35. else
  36. {
  37. break;
  38. }
  39. }
  40.  
  41. foreach (var item in skillList)
  42. {
  43. Console.WriteLine($"Name: {item.SkillName} Level: {item.SkillLevel}");
  44. }
  45. }
  46. }
  47.  
  48. public class Skill
  49. {
  50. public string SkillName { get; set; }
  51.  
  52. public int ExpToLevel { get; set; }
  53.  
  54. public int SkillLevel { get; set; } = 0;
  55.  
  56. public int MaxLevel = 40;
  57.  
  58. public bool IsMaxed
  59. {
  60. get
  61. {
  62. if (SkillLevel >= MaxLevel)
  63. {
  64. return true;
  65. }
  66. return false;
  67. }
  68. }
  69.  
  70. private int ExpGrowth { get; set; } = 0;
  71.  
  72. public Skill(string skillName,
  73. int expNeededToLevel,
  74. int expGrowth)
  75. {
  76. SkillName = skillName;
  77. ExpGrowth = expGrowth;
  78. ExpToLevel = expNeededToLevel;
  79. }
  80.  
  81. public void LevelUp()
  82. {
  83. SkillLevel++;
  84. ExpToLevel += ExpGrowth;
  85. }
  86. }
  87. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement