diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..13566b8
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..21f5850
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..052146b
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/uiDesigner.xml b/.idea/uiDesigner.xml
new file mode 100644
index 0000000..2b63946
--- /dev/null
+++ b/.idea/uiDesigner.xml
@@ -0,0 +1,124 @@
+
+
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..35eb1dd
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Java_Petit_projet.iml b/Java_Petit_projet.iml
new file mode 100644
index 0000000..c90834f
--- /dev/null
+++ b/Java_Petit_projet.iml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
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/Main.java b/src/Main.java
index 595d128..ef5c781 100644
--- a/src/Main.java
+++ b/src/Main.java
@@ -2,7 +2,7 @@ import systems.Game;
public class Main {
public static void main(String[] args) {
- System.out.print("Hello and welcome!");
+ System.out.print("Hello and welcome! Test Gitea");
Game game = new Game();
}
}
diff --git a/src/heroes/Hero.java b/src/heroes/Hero.java
index 9ae1132..0205911 100644
--- a/src/heroes/Hero.java
+++ b/src/heroes/Hero.java
@@ -1,4 +1,170 @@
package heroes;
+import heroes.jobs.Job;
+import heroes.races.Race;
+
public class Hero {
+ protected String name;
+ protected Race race;
+ protected Job job;
+ protected int healthBaseLevel;
+ 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;
+ if (job != null){
+ job.adjustStats(this);
+ }
+ }
+
+ public int getHealthBaseLevel() {
+ return healthBaseLevel;
+ }
+
+ public void setHealthBaseLevel(int healthBaseLevel) {
+ this.healthBaseLevel = healthBaseLevel;
+ }
+
+ 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.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.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.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 3ee11fc..701ad1f 100644
--- a/src/heroes/jobs/Job.java
+++ b/src/heroes/jobs/Job.java
@@ -2,5 +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
new file mode 100644
index 0000000..f63fa8e
--- /dev/null
+++ b/src/heroes/jobs/Mage.java
@@ -0,0 +1,16 @@
+package heroes.jobs;
+
+import heroes.Hero;
+
+public class Mage extends Job{
+ public Mage() {
+ 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
new file mode 100644
index 0000000..6121801
--- /dev/null
+++ b/src/heroes/jobs/Rogue.java
@@ -0,0 +1,16 @@
+package heroes.jobs;
+
+import heroes.Hero;
+
+public class Rogue extends Job{
+ public Rogue() {
+ 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
new file mode 100644
index 0000000..504790a
--- /dev/null
+++ b/src/heroes/jobs/Warrior.java
@@ -0,0 +1,17 @@
+package heroes.jobs;
+
+import heroes.Hero;
+
+public class Warrior extends Job {
+ public Warrior() {
+ 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 a2619dd..f2861da 100644
--- a/src/systems/Game.java
+++ b/src/systems/Game.java
@@ -1,4 +1,78 @@
package systems;
+import heroes.Hero;
+import heroes.jobs.Mage;
+import heroes.jobs.Rogue;
+import heroes.jobs.Warrior;
+
+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();
+ 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) {
+ }
}