Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Hero {
- // class constants -----------------------
- private final int GREEN = 1;
- private final int BLUE = 5;
- private final int RED = 20;
- private final int SILVER= 100;
- // data section ===========================
- private String name;
- private int maxHearts;
- private int hearts;
- private int rupees;
- // constructors ===========================
- public Hero(String name, int maxHearts, int hearts, int rupees) {
- this.name = name;
- this.maxHearts = maxHearts;
- this.hearts = hearts;
- this.rupees = rupees;
- }
- public Hero(String name, int maxHearts, int rupees) {
- this(name, maxHearts, maxHearts, rupees);
- }
- public Hero(String name) {
- this(name, 3, 0);
- }
- public Hero() {
- this("Link");
- }
- // getters/setters ========================
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public int getMaxHearts() {
- return this.maxHearts;
- }
- public void setMaxHearts(int maxHearts) {
- this.maxHearts = maxHearts;
- }
- public int getHearts() {
- return hearts;
- }
- public void setHearts(int hearts) {
- this.hearts = hearts;
- }
- public int getRupees() {
- return rupees;
- }
- public void setRupees(int rupees) {
- this.rupees = rupees;
- }
- // methods ================================
- public void addHeartContainer () {
- this.maxHearts++;
- heal();
- }
- public void heal(int hearts) {
- adjHearts(hearts);
- }
- public void heal() {
- setHearts(maxHearts);
- }
- public void takeDamage(int hearts) {
- adjHearts(-hearts);
- }
- public void findGreen() {
- adjRupees(GREEN);
- }
- public void findBlue() {
- adjRupees(BLUE);
- }
- public void findRed() {
- adjRupees(RED);
- }
- public void findSilver() {
- adjRupees(SILVER);
- }
- public void subRupees(int rupees) {
- adjRupees(-rupees);
- }
- @Override
- public String toString() {
- StringBuilder sb = new StringBuilder();
- String border = "===================";
- sb.append(border).append("\n");
- sb.append("Name : ").append(name).append("\n");
- sb.append("Hearts : ").append(hearts).append("/").append(maxHearts).append("\n");
- sb.append("Rupees : ").append(rupees).append("\n");
- sb.append(border).append("\n");
- return sb.toString();
- }
- // helper methods =========================
- private void adjHearts(int value) {
- this.hearts += value;
- if (hearts > maxHearts)
- setHearts(maxHearts);
- if (hearts < 0)
- setHearts(0);
- }
- private void adjRupees(int value) {
- this.rupees += value;
- if (rupees < 0)
- setRupees(0);
- }
- }
Add Comment
Please, Sign In to add comment