package bayesGame.world;
import bayesGame.levelcontrollers.Controller;
import bayesGame.minigame.MinigameController;
public class PlayerCharacter extends GameCharacter {
private final int STARTING_DEFAULT_ENERGY = 4;
private final int SKILL_COST_PER_LEVEL = 15;
private int energy;
private int base_energy;
private int psychology_skill = 0;
private int psychology_level = 0;
public PlayerCharacter() {
super("You", GameCharacter.GENDER.GIRL);
base_energy = STARTING_DEFAULT_ENERGY;
resetEnergy();
}
public void setEnergy(int energy){
this.energy = energy;
}
public void resetEnergy(){
energy = base_energy;
}
public int getEnergy(){
return energy;
}
public boolean useEnergy(int i) {
if (i > energy){
return false;
}
energy = energy - i;
return true;
}
public void pointsToSkill(String string, int score,
MinigameController controller) {
psychology_skill = psychology_skill + score;
int nextSkillLevel = getNextSkillLevel(string);
controller.showText("Your current skill in " + string + " is " + psychology_level + ". Getting " + score + " points to your " + string + " skill puts you at " + psychology_skill + "/" + nextSkillLevel + " experience points.");
attemptSkillIncrease(string, controller);
}
private void attemptSkillIncrease(String string, MinigameController controller) {
int nextLevel = getNextSkillLevel(string);
while (psychology_skill >= nextLevel){
psychology_level++;
nextLevel = getNextSkillLevel(string);
controller.showText("Your " + string + " skill level has increased! You're now at level " + psychology_level + ". Next level at " + nextLevel + " experience points.");
}
}
public int getNextSkillLevel(String string) {
return ((psychology_level+1) * SKILL_COST_PER_LEVEL);
}
public int getSkillLevel(){
return psychology_level;
}
public int getSkillExperience(){
return psychology_skill;
}
}