diff --git a/out/production/Java_Petit_projet/Main.class b/out/production/Java_Petit_projet/Main.class new file mode 100644 index 0000000..4bc9afb Binary files /dev/null and b/out/production/Java_Petit_projet/Main.class differ diff --git a/out/production/Java_Petit_projet/events/Event.class b/out/production/Java_Petit_projet/events/Event.class new file mode 100644 index 0000000..37e2a2c Binary files /dev/null and b/out/production/Java_Petit_projet/events/Event.class differ diff --git a/out/production/Java_Petit_projet/heroes/Hero.class b/out/production/Java_Petit_projet/heroes/Hero.class new file mode 100644 index 0000000..54d3eef Binary files /dev/null and b/out/production/Java_Petit_projet/heroes/Hero.class differ diff --git a/out/production/Java_Petit_projet/heroes/jobs/Job.class b/out/production/Java_Petit_projet/heroes/jobs/Job.class new file mode 100644 index 0000000..4cf9f65 Binary files /dev/null and b/out/production/Java_Petit_projet/heroes/jobs/Job.class differ diff --git a/out/production/Java_Petit_projet/heroes/jobs/Mage.class b/out/production/Java_Petit_projet/heroes/jobs/Mage.class new file mode 100644 index 0000000..e27b87c Binary files /dev/null and b/out/production/Java_Petit_projet/heroes/jobs/Mage.class differ diff --git a/out/production/Java_Petit_projet/heroes/jobs/Rogue.class b/out/production/Java_Petit_projet/heroes/jobs/Rogue.class new file mode 100644 index 0000000..3cf5d84 Binary files /dev/null and b/out/production/Java_Petit_projet/heroes/jobs/Rogue.class differ diff --git a/out/production/Java_Petit_projet/heroes/jobs/Warrior.class b/out/production/Java_Petit_projet/heroes/jobs/Warrior.class new file mode 100644 index 0000000..207309a Binary files /dev/null and b/out/production/Java_Petit_projet/heroes/jobs/Warrior.class differ diff --git a/out/production/Java_Petit_projet/heroes/races/Race.class b/out/production/Java_Petit_projet/heroes/races/Race.class new file mode 100644 index 0000000..7ee83ee Binary files /dev/null and b/out/production/Java_Petit_projet/heroes/races/Race.class differ diff --git a/out/production/Java_Petit_projet/items/Item.class b/out/production/Java_Petit_projet/items/Item.class new file mode 100644 index 0000000..94c59ff Binary files /dev/null and b/out/production/Java_Petit_projet/items/Item.class differ diff --git a/out/production/Java_Petit_projet/items/armors/Armor.class b/out/production/Java_Petit_projet/items/armors/Armor.class new file mode 100644 index 0000000..1c347ae Binary files /dev/null and b/out/production/Java_Petit_projet/items/armors/Armor.class differ diff --git a/out/production/Java_Petit_projet/items/consummables/Consummable.class b/out/production/Java_Petit_projet/items/consummables/Consummable.class new file mode 100644 index 0000000..a9d8771 Binary files /dev/null and b/out/production/Java_Petit_projet/items/consummables/Consummable.class differ diff --git a/out/production/Java_Petit_projet/items/helmets/Helmet.class b/out/production/Java_Petit_projet/items/helmets/Helmet.class new file mode 100644 index 0000000..26fac08 Binary files /dev/null and b/out/production/Java_Petit_projet/items/helmets/Helmet.class differ diff --git a/out/production/Java_Petit_projet/items/shields/Shield.class b/out/production/Java_Petit_projet/items/shields/Shield.class new file mode 100644 index 0000000..e998744 Binary files /dev/null and b/out/production/Java_Petit_projet/items/shields/Shield.class differ diff --git a/out/production/Java_Petit_projet/rules/Action.class b/out/production/Java_Petit_projet/rules/Action.class new file mode 100644 index 0000000..2140d69 Binary files /dev/null and b/out/production/Java_Petit_projet/rules/Action.class differ diff --git a/out/production/Java_Petit_projet/systems/Game.class b/out/production/Java_Petit_projet/systems/Game.class new file mode 100644 index 0000000..135fa16 Binary files /dev/null and b/out/production/Java_Petit_projet/systems/Game.class differ diff --git a/src/heroes/Hero.java b/src/heroes/Hero.java index c30b0ad..0205911 100644 --- a/src/heroes/Hero.java +++ b/src/heroes/Hero.java @@ -7,7 +7,7 @@ public class Hero { protected String name; protected Race race; protected Job job; - protected int heatlhBaseLevel; + protected int healthBaseLevel; protected int strengthBaseLevel; protected int dexterityBaseLevel; protected int intelligenceBaseLevel; @@ -40,14 +40,17 @@ public class Hero { public void setJob(Job job) { this.job = job; + if (job != null){ + job.adjustStats(this); + } } - public int getHeatlhBaseLevel() { - return heatlhBaseLevel; + public int getHealthBaseLevel() { + return healthBaseLevel; } - public void setHeatlhBaseLevel(int heatlhBaseLevel) { - this.heatlhBaseLevel = heatlhBaseLevel; + public void setHealthBaseLevel(int healthBaseLevel) { + this.healthBaseLevel = healthBaseLevel; } public int getStrengthBaseLevel() { @@ -126,32 +129,42 @@ public class Hero { this.setName("Hero"); this.setRace(null); this.setJob(null); - this.setHeatlhBaseLevel(100); + this.setHealthBaseLevel(100); this.setStrengthBaseLevel(10); this.setDexterityBaseLevel(10); this.setIntelligenceBaseLevel(10); this.setDefenseBaseLevel(10); + setHealth(this.getHealthBaseLevel()); + setStrength(this.getStrengthBaseLevel()); + setDexterity(this.getDexterityBaseLevel()); + setIntelligence(this.getIntelligenceBaseLevel()); + setDefense(this.getDefenseBaseLevel()); } public Hero(String name) { this.setName(name); this.setRace(null); this.setJob(null); - this.setHeatlhBaseLevel(100); + this.setHealthBaseLevel(100); this.setStrengthBaseLevel(10); this.setDexterityBaseLevel(10); this.setIntelligenceBaseLevel(10); this.setDefenseBaseLevel(10); + setHealth(this.getHealthBaseLevel()); + setStrength(this.getStrengthBaseLevel()); + setDexterity(this.getDexterityBaseLevel()); + setIntelligence(this.getIntelligenceBaseLevel()); + setDefense(this.getDefenseBaseLevel()); } 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()); + System.out.println("Point de vie : " + this.getHealth()); + System.out.println("Force : " + this.getStrength()); + System.out.println("Dextérité : " + this.getDexterity()); + System.out.println("Intelligence : " + this.getIntelligence()); + System.out.println("Défense : " + this.getDefense()); } } diff --git a/src/heroes/jobs/Job.java b/src/heroes/jobs/Job.java index 42d160f..701ad1f 100644 --- a/src/heroes/jobs/Job.java +++ b/src/heroes/jobs/Job.java @@ -2,6 +2,16 @@ package heroes.jobs; import heroes.Hero; -public abstract class Job extends Hero { +public abstract class Job { + public String jobName; + public String getJobName() { + return jobName; + } + + public void setJobName(String jobName) { + this.jobName = jobName; + } + + public abstract void adjustStats(Hero hero); } diff --git a/src/heroes/jobs/Mage.java b/src/heroes/jobs/Mage.java index a6113d0..f63fa8e 100644 --- a/src/heroes/jobs/Mage.java +++ b/src/heroes/jobs/Mage.java @@ -1,12 +1,16 @@ package heroes.jobs; +import heroes.Hero; + 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); + this.setJobName("Mage"); + } + @Override + public void adjustStats(Hero hero) { + hero.setHealth(hero.getHealthBaseLevel() - 10); + hero.setStrength(hero.getStrengthBaseLevel() - 10); + hero.setDefense(hero.getDefenseBaseLevel() - 5); + hero.setIntelligence(hero.getIntelligenceBaseLevel() + 20); } } diff --git a/src/heroes/jobs/Rogue.java b/src/heroes/jobs/Rogue.java index a30816f..6121801 100644 --- a/src/heroes/jobs/Rogue.java +++ b/src/heroes/jobs/Rogue.java @@ -1,12 +1,16 @@ package heroes.jobs; +import heroes.Hero; + 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); + this.setJobName("Voleur"); + } + @Override + public void adjustStats(Hero hero) { + hero.setHealth(hero.getHealthBaseLevel() - 10); + hero.setStrength(hero.getStrengthBaseLevel() + 5); + hero.setDexterity(hero.getDexterityBaseLevel() + 20); + hero.setIntelligence(hero.getIntelligenceBaseLevel() - 5); } } diff --git a/src/heroes/jobs/Warrior.java b/src/heroes/jobs/Warrior.java index f9b9bc7..504790a 100644 --- a/src/heroes/jobs/Warrior.java +++ b/src/heroes/jobs/Warrior.java @@ -1,12 +1,17 @@ package heroes.jobs; +import heroes.Hero; + 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); + this.setJobName("Guerrier"); + } + @Override + public void adjustStats(Hero hero) { + hero.setHealth(hero.getHealthBaseLevel() + 10); + hero.setStrength(hero.getStrengthBaseLevel() + 10); + hero.setDefense(hero.getDefenseBaseLevel() + 10); + hero.setDexterity(hero.getDexterityBaseLevel() - 5); + hero.setIntelligence(hero.getIntelligenceBaseLevel() - 5); } } diff --git a/src/systems/Game.java b/src/systems/Game.java index 8586e9b..f2861da 100644 --- a/src/systems/Game.java +++ b/src/systems/Game.java @@ -1,6 +1,10 @@ package systems; import heroes.Hero; +import heroes.jobs.Mage; +import heroes.jobs.Rogue; +import heroes.jobs.Warrior; + import java.util.Scanner; public class Game { @@ -33,7 +37,42 @@ public class Game { System.out.println("Très bien, " + name + "."); Hero hero = new Hero(name); hero.printStats(); + selectJob(hero); } } } + + public void selectJob(Hero hero){ + System.out.println("Quelle classe veux-tu choisir ? Un guerrier ? (G), un mage ? (M), un voleur ? (V)"); + String job = scanner.next(); + switch (job.toLowerCase()) { + case "guerrier", "g" -> { + hero.setJob(new Warrior()); + System.out.println("Tu as choisi la classe de guerrier !"); + hero.printStats(); + } + case "mage", "m" -> { + hero.setJob(new Mage()); + System.out.println("Tu as choisi la classe de mage !"); + hero.printStats(); + } + case "voleur", "v" -> { + hero.setJob(new Rogue()); + System.out.println("Tu as choisi la classe de voleur !"); + hero.printStats(); + } + } + System.out.println("Voici les caractéristiques de ton personnage :"); + hero.printStats(); + System.out.println(hero.getJob().getJobName()); + System.out.println("Veux-tu continuer ?\n1.Oui\n2.Non"); + String choice = scanner.next(); + switch (choice.toLowerCase()) { + case "oui", "yes", "y", "o" -> selectRace(hero); + case "non", "no", "n" -> selectJob(hero); + } + } + + private void selectRace(Hero hero) { + } }