Player.java

package re.forestier.edu.rpg;

import java.util.ArrayList;
import java.util.HashMap;

public class Player {
    private String playerName;
    private String Avatar_name;
    private String AvatarClass;

    private Integer money;
    private Float __real_money__;

    private int level;
    private int healthpoints;
    private int currenthealthpoints;
    private int xp;

    public HashMap<String, Integer> abilities; //Ability = stat
    public ArrayList<String> inventory;

    public Player(String playerName, String avatar_name, String avatarClass, int money, ArrayList<String> inventory) {
        if (!avatarClass.equals("ARCHER") && !avatarClass.equals("ADVENTURER") && !avatarClass.equals("DWARF")) 
        {
            return;
        }

        this.playerName = playerName;
        Avatar_name = avatar_name;
        AvatarClass = avatarClass;
        this.money = Integer.valueOf(money);
        this.inventory = inventory;
        this.abilities = UpdatePlayer.abilitiesPerTypeAndLevel().get(AvatarClass).get(1);
    }

    public String getPlayerName()
    {
        return this.playerName;
    }

    public String getAvatarName()
    {
        return this.Avatar_name;
    }

    public Integer getMoney()
    {
        return this.money;
    }

    public int getLevel()
    {
        return this.level;
    }

    public int getHealthPoints()
    {
        return this.healthpoints;
    }

    public void setHealthPoints(int hp)
    {
        this.healthpoints = hp;
    }

    public int getCurrentHealthPoints()
    {
        return this.currenthealthpoints;
    }

    public void setCurrentHealthPoints(int hp)
    {
        this.currenthealthpoints = hp;
    }

    public int getXp()
    {
        return this.xp;
    }

    public void setXp(int xp)
    {
        this.xp = xp;
    }

    public String getAvatarClass () {
        return AvatarClass;
    }

    public void removeMoney(int amount) throws IllegalArgumentException {
        if (money - amount < 0) {
            throw new IllegalArgumentException("Player can't have a negative money!");
        }

        money = Integer.parseInt(money.toString()) - amount;
    }
    public void addMoney(int amount) { 
        money = money + amount;
    }
    public int retrieveLevel() {
        HashMap<Integer, Integer> levels = new HashMap<>();
        levels.put(2,10);
        levels.put(3,27);
        levels.put(4,57);
        levels.put(5,111);
        //TODO : ajouter les prochains niveaux

        if (xp < levels.get(2)) {
            return 1;
        }
        else if (xp < levels.get(3)) {return 2;
        }
        if (xp < levels.get(4)) {
            return 3;
        }
        if (xp < levels.get(5)) return 4;
        return 5;
    }
}