Guest User

Untitled

a guest
Nov 23rd, 2017
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.98 KB | None | 0 0
  1. public class Hero {
  2. // class constants -----------------------
  3. private final int GREEN = 1;
  4. private final int BLUE = 5;
  5. private final int RED = 20;
  6. private final int SILVER= 100;
  7.  
  8. // data section ===========================
  9. private String name;
  10. private int maxHearts;
  11. private int hearts;
  12. private int rupees;
  13.  
  14. // constructors ===========================
  15. public Hero(String name, int maxHearts, int hearts, int rupees) {
  16. this.name = name;
  17. this.maxHearts = maxHearts;
  18. this.hearts = hearts;
  19. this.rupees = rupees;
  20. }
  21.  
  22.  
  23. public Hero(String name, int maxHearts, int rupees) {
  24. this(name, maxHearts, maxHearts, rupees);
  25. }
  26.  
  27. public Hero(String name) {
  28. this(name, 3, 0);
  29. }
  30.  
  31. public Hero() {
  32. this("Link");
  33. }
  34.  
  35.  
  36. // getters/setters ========================
  37. public String getName() {
  38. return name;
  39. }
  40.  
  41. public void setName(String name) {
  42. this.name = name;
  43. }
  44.  
  45. public int getMaxHearts() {
  46. return this.maxHearts;
  47. }
  48.  
  49. public void setMaxHearts(int maxHearts) {
  50. this.maxHearts = maxHearts;
  51. }
  52.  
  53. public int getHearts() {
  54. return hearts;
  55. }
  56.  
  57. public void setHearts(int hearts) {
  58. this.hearts = hearts;
  59. }
  60.  
  61. public int getRupees() {
  62. return rupees;
  63. }
  64.  
  65. public void setRupees(int rupees) {
  66. this.rupees = rupees;
  67. }
  68.  
  69. // methods ================================
  70. public void addHeartContainer () {
  71. this.maxHearts++;
  72. heal();
  73. }
  74.  
  75. public void heal(int hearts) {
  76. adjHearts(hearts);
  77. }
  78.  
  79. public void heal() {
  80. setHearts(maxHearts);
  81. }
  82.  
  83. public void takeDamage(int hearts) {
  84. adjHearts(-hearts);
  85. }
  86.  
  87. public void findGreen() {
  88. adjRupees(GREEN);
  89. }
  90.  
  91. public void findBlue() {
  92. adjRupees(BLUE);
  93. }
  94.  
  95. public void findRed() {
  96. adjRupees(RED);
  97. }
  98.  
  99. public void findSilver() {
  100. adjRupees(SILVER);
  101. }
  102.  
  103. public void subRupees(int rupees) {
  104. adjRupees(-rupees);
  105. }
  106.  
  107. @Override
  108. public String toString() {
  109. StringBuilder sb = new StringBuilder();
  110. String border = "===================";
  111. sb.append(border).append("\n");
  112. sb.append("Name : ").append(name).append("\n");
  113. sb.append("Hearts : ").append(hearts).append("/").append(maxHearts).append("\n");
  114. sb.append("Rupees : ").append(rupees).append("\n");
  115. sb.append(border).append("\n");
  116. return sb.toString();
  117. }
  118.  
  119. // helper methods =========================
  120. private void adjHearts(int value) {
  121. this.hearts += value;
  122.  
  123. if (hearts > maxHearts)
  124. setHearts(maxHearts);
  125.  
  126. if (hearts < 0)
  127. setHearts(0);
  128. }
  129.  
  130. private void adjRupees(int value) {
  131. this.rupees += value;
  132.  
  133. if (rupees < 0)
  134. setRupees(0);
  135. }
  136. }
Add Comment
Please, Sign In to add comment