diff --git a/src/heroes/Hero.java b/src/heroes/Hero.java index 9ae1132..c30b0ad 100644 --- a/src/heroes/Hero.java +++ b/src/heroes/Hero.java @@ -1,4 +1,157 @@ package heroes; +import heroes.jobs.Job; +import heroes.races.Race; + public class Hero { + protected String name; + protected Race race; + protected Job job; + protected int heatlhBaseLevel; + protected int strengthBaseLevel; + protected int dexterityBaseLevel; + protected int intelligenceBaseLevel; + protected int defenseBaseLevel; + protected int health; + protected int strength; + protected int dexterity; + protected int intelligence; + protected int defense; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public Race getRace() { + return race; + } + + public void setRace(Race race) { + this.race = race; + } + + public Job getJob() { + return job; + } + + public void setJob(Job job) { + this.job = job; + } + + public int getHeatlhBaseLevel() { + return heatlhBaseLevel; + } + + public void setHeatlhBaseLevel(int heatlhBaseLevel) { + this.heatlhBaseLevel = heatlhBaseLevel; + } + + public int getStrengthBaseLevel() { + return strengthBaseLevel; + } + + public void setStrengthBaseLevel(int strengthBaseLevel) { + this.strengthBaseLevel = strengthBaseLevel; + } + + public int getDexterityBaseLevel() { + return dexterityBaseLevel; + } + + public void setDexterityBaseLevel(int dexterityBaseLevel) { + this.dexterityBaseLevel = dexterityBaseLevel; + } + + public int getIntelligenceBaseLevel() { + return intelligenceBaseLevel; + } + + public void setIntelligenceBaseLevel(int intelligenceBaseLevel) { + this.intelligenceBaseLevel = intelligenceBaseLevel; + } + + public int getDefenseBaseLevel() { + return defenseBaseLevel; + } + + public void setDefenseBaseLevel(int defenseBaseLevel) { + this.defenseBaseLevel = defenseBaseLevel; + } + + public int getHealth() { + return health; + } + + public void setHealth(int health) { + this.health = health; + } + + public int getStrength() { + return strength; + } + + public void setStrength(int strength) { + this.strength = strength; + } + + public int getDexterity() { + return dexterity; + } + + public void setDexterity(int dexterity) { + this.dexterity = dexterity; + } + + public int getIntelligence() { + return intelligence; + } + + public void setIntelligence(int intelligence) { + this.intelligence = intelligence; + } + + public int getDefense() { + return defense; + } + + public void setDefense(int defense) { + this.defense = defense; + } + + public Hero() { + this.setName("Hero"); + this.setRace(null); + this.setJob(null); + this.setHeatlhBaseLevel(100); + this.setStrengthBaseLevel(10); + this.setDexterityBaseLevel(10); + this.setIntelligenceBaseLevel(10); + this.setDefenseBaseLevel(10); + } + + public Hero(String name) { + this.setName(name); + this.setRace(null); + this.setJob(null); + this.setHeatlhBaseLevel(100); + this.setStrengthBaseLevel(10); + this.setDexterityBaseLevel(10); + this.setIntelligenceBaseLevel(10); + this.setDefenseBaseLevel(10); + } + + public void printStats() { + System.out.println("Caractéristiques de " + this.getName() + " :"); +// System.out.println("Classe : " + this.getJob().getName()); +// System.out.println("Race : " + this.getRace().getName()); + System.out.println("Point de vie : " + this.getHeatlhBaseLevel()); + System.out.println("Force : " + this.getStrengthBaseLevel()); + System.out.println("Dextérité : " + this.getDexterityBaseLevel()); + System.out.println("Intelligence : " + this.getIntelligenceBaseLevel()); + System.out.println("Défense : " + this.getDefenseBaseLevel()); + } } diff --git a/src/heroes/jobs/Mage.java b/src/heroes/jobs/Mage.java index 2b58ffe..a6113d0 100644 --- a/src/heroes/jobs/Mage.java +++ b/src/heroes/jobs/Mage.java @@ -1,4 +1,12 @@ package heroes.jobs; public class Mage extends Job{ + public Mage() { + this.setJob(this); + this.setHealth(getHeatlhBaseLevel() - 10); + this.setStrength(getStrengthBaseLevel() - 5); + this.setDefense(getDefenseBaseLevel() - 5); + this.setDexterity(getDexterityBaseLevel() -5); + this.setIntelligence(getIntelligenceBaseLevel() + 15); + } } diff --git a/src/heroes/jobs/Rogue.java b/src/heroes/jobs/Rogue.java index f8a3367..a30816f 100644 --- a/src/heroes/jobs/Rogue.java +++ b/src/heroes/jobs/Rogue.java @@ -1,4 +1,12 @@ package heroes.jobs; public class Rogue extends Job{ + public Rogue() { + this.setJob(this); + this.setHealth(getHeatlhBaseLevel()); + this.setStrength(getStrengthBaseLevel() - 5); + this.setDefense(getDefenseBaseLevel() - 5); + this.setDexterity(getDexterityBaseLevel() + 15); + this.setIntelligence(getIntelligenceBaseLevel() - 5); + } } diff --git a/src/heroes/jobs/Warrior.java b/src/heroes/jobs/Warrior.java index 44be070..f9b9bc7 100644 --- a/src/heroes/jobs/Warrior.java +++ b/src/heroes/jobs/Warrior.java @@ -1,4 +1,12 @@ package heroes.jobs; -public class Warrior extends Job{ +public class Warrior extends Job { + public Warrior() { + this.setJob(this); + this.setHealth(getHeatlhBaseLevel() + 15); + this.setStrength(getStrengthBaseLevel() + 10); + this.setDefense(getDefenseBaseLevel() + 5); + this.setDexterity(getDexterityBaseLevel() - 15); + this.setIntelligence(getIntelligenceBaseLevel() - 10); + } } diff --git a/src/systems/Game.java b/src/systems/Game.java index a2619dd..8586e9b 100644 --- a/src/systems/Game.java +++ b/src/systems/Game.java @@ -1,4 +1,39 @@ package systems; +import heroes.Hero; +import java.util.Scanner; + public class Game { + + public Scanner scanner = new Scanner(System.in); + + public Game() { + System.out.println("Bienvenue dans ce projet fou ! Veux-tu créer ton personnage ?"); + System.out.println("1.Oui\n2.Non"); + String startGame = scanner.next(); + switch (startGame.toLowerCase()) { + case "oui", "yes", "y", "o" -> createCharacter(); + case "non", "no", "n" -> { + System.out.println("Très bien, à bientôt !"); + System.exit(0); + } + } + } + + public void createCharacter() { + System.out.println("Quel est le nom de ton personnage ?"); + String name = scanner.next(); + System.out.println("Ton personnage s'appelle " + name + " ! Veux-tu le modifier ? \n1.Oui\n2.Non"); + String choice = scanner.next(); + switch (choice.toLowerCase()) { + case "oui", "yes", "y", "o" -> { + createCharacter(); + } + case "non", "no", "n" -> { + System.out.println("Très bien, " + name + "."); + Hero hero = new Hero(name); + hero.printStats(); + } + } + } }