From 372df074b46dbd2291628c75dd42002d8324ac30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Journiac?= <152491383+Groughy@users.noreply.github.com> Date: Tue, 23 Jul 2024 11:00:48 +0200 Subject: [PATCH 1/4] Test push --- src/Main.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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(); } } -- 2.45.2 From f82e550ad3f304236e2132a3e8679539bde5e6aa Mon Sep 17 00:00:00 2001 From: Grough Date: Wed, 31 Jul 2024 11:56:03 +0200 Subject: [PATCH 2/4] Y manque des trucs ? --- .idea/.gitignore | 8 +++ .idea/misc.xml | 6 ++ .idea/modules.xml | 8 +++ .idea/uiDesigner.xml | 124 +++++++++++++++++++++++++++++++++++ .idea/vcs.xml | 6 ++ Java_Petit_projet.iml | 11 ++++ src/heroes/jobs/Job.java | 1 + src/heroes/jobs/Mage.java | 4 ++ src/heroes/jobs/Rogue.java | 4 ++ src/heroes/jobs/Warrior.java | 4 ++ 10 files changed, 176 insertions(+) create mode 100644 .idea/.gitignore create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/uiDesigner.xml create mode 100644 .idea/vcs.xml create mode 100644 Java_Petit_projet.iml create mode 100644 src/heroes/jobs/Mage.java create mode 100644 src/heroes/jobs/Rogue.java create mode 100644 src/heroes/jobs/Warrior.java 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/src/heroes/jobs/Job.java b/src/heroes/jobs/Job.java index 3ee11fc..42d160f 100644 --- a/src/heroes/jobs/Job.java +++ b/src/heroes/jobs/Job.java @@ -3,4 +3,5 @@ package heroes.jobs; import heroes.Hero; public abstract class Job extends Hero { + } diff --git a/src/heroes/jobs/Mage.java b/src/heroes/jobs/Mage.java new file mode 100644 index 0000000..2b58ffe --- /dev/null +++ b/src/heroes/jobs/Mage.java @@ -0,0 +1,4 @@ +package heroes.jobs; + +public class Mage extends Job{ +} diff --git a/src/heroes/jobs/Rogue.java b/src/heroes/jobs/Rogue.java new file mode 100644 index 0000000..f8a3367 --- /dev/null +++ b/src/heroes/jobs/Rogue.java @@ -0,0 +1,4 @@ +package heroes.jobs; + +public class Rogue extends Job{ +} diff --git a/src/heroes/jobs/Warrior.java b/src/heroes/jobs/Warrior.java new file mode 100644 index 0000000..44be070 --- /dev/null +++ b/src/heroes/jobs/Warrior.java @@ -0,0 +1,4 @@ +package heroes.jobs; + +public class Warrior extends Job{ +} -- 2.45.2 From 6ac654cc3a74ebd65e1127b5705e37f5c2d86470 Mon Sep 17 00:00:00 2001 From: Grough Date: Wed, 31 Jul 2024 22:12:39 +0200 Subject: [PATCH 3/4] =?UTF-8?q?On=20cr=C3=A9e=20une=20fiche=20qui=20se=20r?= =?UTF-8?q?emplit=20au=20fur=20et=20=C3=A0=20mesure?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/heroes/Hero.java | 153 +++++++++++++++++++++++++++++++++++ src/heroes/jobs/Mage.java | 8 ++ src/heroes/jobs/Rogue.java | 8 ++ src/heroes/jobs/Warrior.java | 10 ++- src/systems/Game.java | 35 ++++++++ 5 files changed, 213 insertions(+), 1 deletion(-) 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(); + } + } + } } -- 2.45.2 From 39212794fd99db1b34a95e112b680645e99c3d79 Mon Sep 17 00:00:00 2001 From: Grough Date: Thu, 1 Aug 2024 20:04:25 +0200 Subject: [PATCH 4/4] =?UTF-8?q?Classes=20cr=C3=A9es=20et=20les=20stats=20c?= =?UTF-8?q?hangent=20en=20fonction=20du=20choix.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- out/production/Java_Petit_projet/Main.class | Bin 0 -> 589 bytes .../Java_Petit_projet/events/Event.class | Bin 0 -> 254 bytes .../Java_Petit_projet/heroes/Hero.class | Bin 0 -> 4755 bytes .../Java_Petit_projet/heroes/jobs/Job.class | Bin 0 -> 558 bytes .../Java_Petit_projet/heroes/jobs/Mage.class | Bin 0 -> 773 bytes .../Java_Petit_projet/heroes/jobs/Rogue.class | Bin 0 -> 781 bytes .../heroes/jobs/Warrior.class | Bin 0 -> 859 bytes .../Java_Petit_projet/heroes/races/Race.class | Bin 0 -> 258 bytes .../Java_Petit_projet/items/Item.class | Bin 0 -> 249 bytes .../items/armors/Armor.class | Bin 0 -> 260 bytes .../items/consummables/Consummable.class | Bin 0 -> 290 bytes .../items/helmets/Helmet.class | Bin 0 -> 265 bytes .../items/shields/Shield.class | Bin 0 -> 265 bytes .../Java_Petit_projet/rules/Action.class | Bin 0 -> 99 bytes .../Java_Petit_projet/systems/Game.class | Bin 0 -> 3976 bytes src/heroes/Hero.java | 37 +++++++++++------ src/heroes/jobs/Job.java | 12 +++++- src/heroes/jobs/Mage.java | 16 ++++--- src/heroes/jobs/Rogue.java | 16 ++++--- src/heroes/jobs/Warrior.java | 17 +++++--- src/systems/Game.java | 39 ++++++++++++++++++ 21 files changed, 106 insertions(+), 31 deletions(-) create mode 100644 out/production/Java_Petit_projet/Main.class create mode 100644 out/production/Java_Petit_projet/events/Event.class create mode 100644 out/production/Java_Petit_projet/heroes/Hero.class create mode 100644 out/production/Java_Petit_projet/heroes/jobs/Job.class create mode 100644 out/production/Java_Petit_projet/heroes/jobs/Mage.class create mode 100644 out/production/Java_Petit_projet/heroes/jobs/Rogue.class create mode 100644 out/production/Java_Petit_projet/heroes/jobs/Warrior.class create mode 100644 out/production/Java_Petit_projet/heroes/races/Race.class create mode 100644 out/production/Java_Petit_projet/items/Item.class create mode 100644 out/production/Java_Petit_projet/items/armors/Armor.class create mode 100644 out/production/Java_Petit_projet/items/consummables/Consummable.class create mode 100644 out/production/Java_Petit_projet/items/helmets/Helmet.class create mode 100644 out/production/Java_Petit_projet/items/shields/Shield.class create mode 100644 out/production/Java_Petit_projet/rules/Action.class create mode 100644 out/production/Java_Petit_projet/systems/Game.class diff --git a/out/production/Java_Petit_projet/Main.class b/out/production/Java_Petit_projet/Main.class new file mode 100644 index 0000000000000000000000000000000000000000..4bc9afb16a76f5be1dc579e9f0103cca65945b06 GIT binary patch literal 589 zcmZvZ$!-%t5QhKuGGh-DudxGRi5&>oIbvt0CZT6iC)OEt>` ztk*iy*&Bi4U^uCwf~pP2#RItiwU582nF`qzuPEyHIY`Ier$k5DI7^faM-|irS|3yp z#620!d*4(ri$m3S&_L5h%S9Wz0_`nYf%26h5k1(j^C1b=(PA{5*yswlX+A{iy_cbK z&@r1m5-6QX9nqb}b0tvsb)?Q$;Z!9TavCtx^5dBdCNj|`zDt&}OPz9i--t(4hdHD> z__FPL)@8C_e|t-r#RUfvsQLd6NT@T8SIJDh(`JmS`RT;$jy@jpF6I@$&0*2*GxF#K zeff9|@gpxkrZr`th$pn}rU6g!j8PQ_=rLo&XM`DO^C#@q&M(w|qw{%@~ literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..37e2a2c3aed0a3da0c81928adbadb4e5ec04ac34 GIT binary patch literal 254 zcmYjL%MQU%5Ixg}Qbpqr?6A-eAQpsG!-Ck~)(uyxP5SU(RuT&z;G@Lc#==Z;X3m++ z%z1yFF8~YpE)19sEDtss1pgv#B1lAf3bxTj#wDRKQ>iNF1amk#IA{_)d6Q{b1S?$# z)-pRvLN8RQ+*H>{=6ew(tn|Yy7Rf>6O7ov+m1k8Dy5awkDZ$-kRUXT=(wlC5dZNu( q132ta2XV4X#ul@n=72qZfbJ|9a2fR&Fwti8>fYwsVa87x4fMVoNilH% literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..54d3eef37965a9ee8dab68e2c3f158dfb37c8edc GIT binary patch literal 4755 zcmchb?SEWF6~})!NwdjjaMMjvS_*9}ZAdoISQLb&MB9|uKw3&u0!;zE$=)V6+1#7% zy@^ESK^_EoC=Y@bqzdw&Ra8K_Xn53WU-(D)@ptCleaOwMFMTs}XXczU-}7kPV0$wI<6+VDW(GyA zMWGdGN)_#CN_C9Iy3z~=jOd+e#fldpV z*h+bvOm=>5DG0|yI}9we_m(XP<6z%}plnjO9GkVWT?l6n*nu1+#~71^?b=|V9(s&E@_rxPf7 zNbgi-iwW908c7{iI3iM=l;Tlb>q{|nRN+n$=%T>Eb?y|2afRa|v6&L1CXb5Hgu>k- z)S=C+b*hY?P?*F?(#{xYxxb?#bf3cgVx*Nuq9sZ1_Y`bV?WC%43DXLBQEQ`GSwIv| zDa?ps7ZuG*a~0-9Q)%k>EQ@MEVL?4zeT7BQ&QQBnNDLGe0x{5`=U%@bOA5=P zo7OYy@m4&5l@xxU@I(A)&4CL(SYP*! zszBww(;(mS>G{L7r4w%uA z93iM*T(NMr_AthR(V`C7UcTT2JI8!~era)V{n@GMS)+J-WzjK+pRAFO0>NPIfs9QI z+l9io8#;qr;i%_1#o>Y-1Wu5`KP>E8w}OD zg0^Z4n@WO%Ea&B-Pl$wNGb`k%?QHiYXV6nL3VJutLuQsUJJ-?@jC-ZTN0$l z2*Su7E8oMF%GxusBW?Yc(9)kPAtOYMdSm5j0+XH%=%=5rrH6OdkYy@cl#yJKM$c82{LK~ zVG?En*`5SBOpqgWK;$V95auQZkR3^oJB=Vr^h_W-k|1{xWTFm;yhQ@SRKNhTD+zMK z2*PC11hOj$avwqNuLB~Fp@1;AFo5(XL2M%k(@zsfZxX~I$f-IY@)`>W^B4n2e-gws zf-svkf%GRq76{_i0g-SZAWWGIAiI+wr;Q*?j7=cBlORh3S*`;j@kl_Jni)X$Btce; zAk4B&AbXM^4-({|Iv^4d1%y8oV_To`DV1<|GWRjQk<0EaVPDQF;oDLi%(drBIFxHo zmoTQwJ9K$Wmv`m((BD(Sy;6U-gej?=5@w~IFTs=gbO~V!Qf2Iww$a4=bI|Q`BEH;CiPPK z{|_s9fh&2DQSBv0uAlKwjF+(muV6b*{x1B2@$M}4;8kw*YuJxpVid3Q7wS2j;5m>q zBT5n`EAeKMj*F6n-&fpouI!!<@qKRRgR9&*l<-8aXu#j_Ld&r|8P>tn-45o5E4(`HO4YfewBAQ3KBari( zgA$4;IdDCc;R#eGDos=t#7US1w@E1A(Cx{Y64>i*di8Z0&Btv4`zjd`t8}Be>MdrW zO7CSjU9yv*oDO6fnRuPF^(4v!YTaKlY~+rWrr=7d?l=DvbF(c@!~aWZ4g|__6fZK} z*HTle>VIq9aI>}{xcy|24%KyJ#w=3v-0Wqa@)8zrDEN2_dNw^Ck#>hsutb1->lNaO z2@AWl24)f!T5s)FQDel5VW0MA@iUx9g4@NVe~asAtcyEjo5>2TvlloUY4g=!`#c9R Z@&_vxR`O;vvxl$+kwfAFN3<4>zW})HVnqM| literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..e27b87cd6b38e3155cff2c4a2a06444e1cd9088a GIT binary patch literal 773 zcmZ8fT~pIQ6g}J4rcD+SN~!n>qG;M8@%sh!0Ud`jg%_MYvu)Qjosc+5%K!4E&iLRD z@JBh`n+7fBVROIEIrrY(U%!9+1aOEqCQ2w9s7TyERluI;B-W`njfbgs91jJmZ-Xev z-V2o7_MnEEK;=aF+Jp(qfRtFls(`bMWmmp)de{lZhxvSl^3eW_s+5;i2Q^0 zz=VS}0}Y9FGzF}JOo z?l51I7)VP;{t^eH?@8Qev_JYe8D0YB<5I!g6lZO%WGc*Hm!t;louvBVRG zZ4#^(WjYK4Uq_?s*tSH6u{L3si>U7p@t9U*_k&2E&Mt;J`K*Q^MH>Bhq{4wp0``kw zC7T2(=l zbDYM0=I3jjPyJSYyaS zq>yWL7navGZiru%4$QKlx8fo6EsfhkyQI$rvc98nSHK#<5B6(nV?X_NkuHjR8ux|N zBrg=Q@lfNDpxZ>dVQPcG_iQ+{m*}QOOXw2mRT0nrJ{qx2rJf(!qv`3u#wTVFaHZ0V zh9>Bn*q3^_m`lfgqOjHbukHK%C^MQ&6MmOTsVO(kMbcIFoLNFCtY6yTeH};BcxXTR z66?$_aZm1yEs=L3zYLVT6pn3HZ|61OwthghDuo%=zRyLEIc^}!F^?Py#EW>sN)x0U zd+6|A;VGUits<%=qTO!KP%1m48EP`UR{S!4PG-8~>u}Jd@bE45;xv b?l8QC(mb-huw6zn0MGG)p$ad_Wbo=Q5aOc2 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..207309a9b232f1b4e9293e6dde316a133e3fd489 GIT binary patch literal 859 zcmZva+j0^?5QhH&1hP!B2mxa}CZ0HG@E8w7FQTO(Mdc=hyEaKLPAx&q50695Nc`kX5k96!;XjCVoF`9r}HR z?4IK}(JO^?t=`KcuaJK?r66!9uwbE(gVtEZnnHPz{a{$)2MSh55hpq_C!|oRbtmT3 zv|QtjTE|h~c%yc`XQ7DmIg~WYSXU?{c@DS~h0=(k12S$j-Zvq2>6F~KmX1(WjSJXN zSYea7NFh_}%u{Y^T#|h2oPoW_8!hAz`ijO?p$kl(3FQ2`#+HC(2H(&p@*7zL+-BKbv!znp7berZ~88ul)C=FxIGg%vQG{((bx&O%f9x%fc@|c&$$ML J7tE#5{sRC8wrv0a literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..7ee83ee26a709c232a87a606593e1115921d9698 GIT binary patch literal 258 zcmZXO&kn&r5XQf0OSS6%6S(2P0}uxiacCTn-nX?$S4xvD-pfhi-~l|8n3dklB){43 zo7u^{KhGC{1=>C=*e;v^6;uiJRO(z7lQkDYb*9ehGAG!BVdSDl=#+ge5}w*J3C=P< zaA}3=EH~FvEcIT*89UuDPec|8t&A>B=aQ;|&lk4gd%VH7gy>rqI?HttPYe;9S-z8m zFi|JDJZBrJ*J5*IB}($GIHp1?lmA4g+^d4nPX1R7`Ti#dwCGw**63=ZNVoDMwx n)EKezugo=$V&;$1zk#kSSnwH5*|gOegI^q=!5N{+Xd!$9A6YZ| literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..a9d877157968334f3ea7cd396995915a68c79108 GIT binary patch literal 290 zcmaKnOA5j;5QhJ$t<_o|cmUCzy08aOTqp=aaih48HDII<=)-%t5?puy4<$}i(3J^% z<*JBwGTrD~gtngqBHW5pY5#;~eoz^q>;G>%=6|h|A`Rq1>0Yg$ vCr3wd5@ruJ&!HFb=1G`UHt*$tHN1e%92jtzy38SJO!sqkQD-AGm6NiYMPLLi&v=^Bw_0KeQsB%It__u7r8MbMW9pzG$8=UWr@mXAi q*@wk(%SZePNM$s{Vg{ihO) zbrwm2>#MWeRcRpeg9s9K`hFIQz`?qu__2d|KGAXXV_;|9?FfXH?+SuW+!nG q#t0V2tsn8{z|0ma@1p^8dIMeA&|ov`F`H;JonP;u!-~*lYH;7TA~m`I literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..2140d69ef71e88c9192982bc602639c680737e3f GIT binary patch literal 99 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 IjknSCKgr&W=>Px# literal 0 HcmV?d00001 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) { + } } -- 2.45.2