From fa90d6fc675cc12dd37f69206df753c60f22af52 Mon Sep 17 00:00:00 2001 From: Grough Date: Thu, 12 Sep 2024 11:48:10 +0200 Subject: [PATCH] Debug adding stat from race adding weapons --- .../Java_Petit_projet/events/StartEvent.class | Bin 0 -> 265 bytes .../Java_Petit_projet/heroes/races/Ork.class | Bin 848 -> 1015 bytes .../items/weapons/Fist.class | Bin 0 -> 674 bytes .../items/weapons/axes/Axe.class | Bin 0 -> 276 bytes .../items/weapons/axes/TrainingAxe.class | Bin 0 -> 784 bytes .../weapons/staffs/ApprenticeStaff.class | Bin 0 -> 673 bytes .../items/weapons/staffs/Staff.class | Bin 0 -> 286 bytes .../items/weapons/swords/Dagger.class | Bin 0 -> 691 bytes .../items/weapons/swords/Sword.class | Bin 0 -> 286 bytes .../items/weapons/swords/TrainingSword.class | Bin 0 -> 728 bytes .../Java_Petit_projet/systems/Game.class | Bin 10001 -> 9495 bytes src/events/StartEvent.java | 4 + src/heroes/races/Dwarf.java | 15 +- src/heroes/races/Elf.java | 15 +- src/heroes/races/Human.java | 15 +- src/heroes/races/Ork.java | 16 +- src/heroes/races/Race.java | 5 + src/items/weapons/Fist.java | 15 + src/items/weapons/Weapon.java | 1 + src/items/weapons/axes/Axe.java | 6 + src/items/weapons/axes/TrainingAxe.java | 16 + src/items/weapons/staffs/ApprenticeStaff.java | 14 + src/items/weapons/staffs/Staff.java | 6 + src/items/weapons/swords/Dagger.java | 15 + src/items/weapons/swords/Sword.java | 6 + src/items/weapons/swords/TrainingSword.java | 15 + src/systems/Game.java | 345 ++++++++---------- 27 files changed, 297 insertions(+), 212 deletions(-) create mode 100644 out/production/Java_Petit_projet/events/StartEvent.class create mode 100644 out/production/Java_Petit_projet/items/weapons/Fist.class create mode 100644 out/production/Java_Petit_projet/items/weapons/axes/Axe.class create mode 100644 out/production/Java_Petit_projet/items/weapons/axes/TrainingAxe.class create mode 100644 out/production/Java_Petit_projet/items/weapons/staffs/ApprenticeStaff.class create mode 100644 out/production/Java_Petit_projet/items/weapons/staffs/Staff.class create mode 100644 out/production/Java_Petit_projet/items/weapons/swords/Dagger.class create mode 100644 out/production/Java_Petit_projet/items/weapons/swords/Sword.class create mode 100644 out/production/Java_Petit_projet/items/weapons/swords/TrainingSword.class create mode 100644 src/events/StartEvent.java create mode 100644 src/items/weapons/Fist.java create mode 100644 src/items/weapons/axes/Axe.java create mode 100644 src/items/weapons/axes/TrainingAxe.java create mode 100644 src/items/weapons/staffs/ApprenticeStaff.java create mode 100644 src/items/weapons/staffs/Staff.java create mode 100644 src/items/weapons/swords/Dagger.java create mode 100644 src/items/weapons/swords/Sword.java create mode 100644 src/items/weapons/swords/TrainingSword.java diff --git a/out/production/Java_Petit_projet/events/StartEvent.class b/out/production/Java_Petit_projet/events/StartEvent.class new file mode 100644 index 0000000000000000000000000000000000000000..6c81f6c1274ca0745a55f685672bf0479b1f8c4f GIT binary patch literal 265 zcmZWj%MQU%5Ixg}Ql%bWV26c%0I?vf8XIDNaT8anP1?(USxGE>fR7S$rHO@^+2zc$gCvBp zO6BTu-pPC;b_pw;INOV4D{^IcDLVS73PLyj+cYNl>+F*6HD=M51Mct+y0KuvXEbHNMx8PE<}SwuGeVQmLihn84>oTA literal 0 HcmV?d00001 diff --git a/out/production/Java_Petit_projet/heroes/races/Ork.class b/out/production/Java_Petit_projet/heroes/races/Ork.class index f46f594c1daf0d906a0869058f6cadb901676486..bb447b375ff73ea10207cb20d2c22a884daa4c17 100644 GIT binary patch literal 1015 zcmZ8g?M@R>5ItK8Ez2!k3RJn414D&kEr}#w_WZgD6JrS|g%rjOSZ5OV{0|1kx;l^>cAX>MGF_-1Iv<@< z+wq#E{lIs<=1Q?P%3Caj31nEOrJZ)rGGJ81J*6-$?qoOcwbu+<;=G`6QJjf}ey_c* z7T>JGCGm|m^rt}kZtz*Wa|)Nmt6VS8?Y7(0UR|5GiunZc3fFL*3M0`wY?}E^9qdFB z*lI<{Hx(98V2r(-#^Qxau_i%VVKKahiR>s8DgN6EOOhlXV9Hs0;>woBqPm?%DJxB6`o5{nn{B(1M$sHgY!vO zT~F`!jt;c{);Va?lc{#?@ zJSI`V6gJ6FEX4xY!V8`Tw(&A5{slv!`10c7F|OF(kbZZJ8v=?1lLWT}lnAl}_XIp3 zm?3y9V1*z@u=ZcoEL#KjKZP00@>$^CFH_S7=0Y{ulZufV`Mq~gp&kRTm>0wAf8O85 AG5`Po literal 848 zcmZ9K+j0^?5QhH&1hP!RApv7N#v=y}9ut-5MPgZ@ib|@C#kCU{VdG}0T9%Yv`Aptm zl@~sM4`uoHve6(HP4`TH{r7gyuirm@0@%T}g9MTpq%v$=#S=!FAk*;_&-kyfiLJQQS7wXER--XRzTkYAqAc#E$h{)&^~k*` z?wxFZimG^xfkr_2 Bu@3+M diff --git a/out/production/Java_Petit_projet/items/weapons/Fist.class b/out/production/Java_Petit_projet/items/weapons/Fist.class new file mode 100644 index 0000000000000000000000000000000000000000..ac0536316b7a0a0a60d941c59ef173421cf1455d GIT binary patch literal 674 zcmZ9K&2AGh6orqINhX=NNeHFTmYhXEU<2@o@UWUtuB%{i%#=V zp!~?h#y$}!hV4NG6@mJz#Kfa)=lnnojZUiwQ1c-r)=(E{tzwQ$W(B-hO*OUtJM}?D z6BUo56PuFK3(&+BA1#TiSQn^`b(-ibdci@UnrZvz9GhW(mAnvo?SVsVNLXyVdZc-)hQuV^)h55F`9cPv_Ki8kEPL2KSe7h2NolnyDS70~Kl5=*` z=$lx-oK4Sk`dXb$^8S*cnhaEGT)tfN?AT~ zSX&VUf|F#H4)u|76{`+&=x!Cee1`&G7L4Sg%(%zwah?OU&Nqlo%m0e%mweMcV;x1t zGCcUSS8$J+q>FngORfm*^Iu4pSnq a!N0M^Vh+EtKrHcup@S|92t1%#z{B4@MTe>Y literal 0 HcmV?d00001 diff --git a/out/production/Java_Petit_projet/items/weapons/axes/Axe.class b/out/production/Java_Petit_projet/items/weapons/axes/Axe.class new file mode 100644 index 0000000000000000000000000000000000000000..9b714fd9b5791e7b7c89dbfecaea838b882228c2 GIT binary patch literal 276 zcmZur%?`m}5S*=6t4c*gT-|Wc2Ott8PK^uU{NYP{LMv_kyq1&1!2@_Gv6WsVc9WT% z+0E|0-j64M5h^w`TvU8FdMLF_HROvv|DpppS0*J>|JScLlTpt#D| z8(t+rABP(z*H?j@o(?M+&BbcZPSp?BV!sfPN_A%H$yUXLhW~$Ek6_QjQ?!;7mF}?k vM0Y37LT|$4&(k1I{++SF%KK`-=-fd!HZ<6bX`4+H8J(-J(TXwWYST3uxD`JJiIFn3520+Tg8Im@H#p7k3B6pXG&^ zc;OH5M;Xs7Bn9KmnK^UjdEc2c^ZU=wUjSa=se>HyHY|<;iVQWS2Io4VYTJQ_EgMyiYq-u(8OkK4)11-3P)?Iq12=-qfigCTXalym*W<0QpXN*r4ormIIaM53pv{{*LmuY*UlsCh`=EuwWBjLW?p^ zAZ^EeJfM-`6v0wT(QadL+-lC@wpw#+d(MYBcFgonX)s6K%nr@$-jzv>PGbZMB<<1X c+a=p0xS3gPA-FUnX*|RuvSWBmOb$=}0yQ0{{Qv*} literal 0 HcmV?d00001 diff --git a/out/production/Java_Petit_projet/items/weapons/staffs/ApprenticeStaff.class b/out/production/Java_Petit_projet/items/weapons/staffs/ApprenticeStaff.class new file mode 100644 index 0000000000000000000000000000000000000000..49b201fb548ffe01dd690714685a7ab4abbac296 GIT binary patch literal 673 zcmZva&u-H|5XQer+&F*SCJiBwLg|0%Bocmr01~ZKHIl`pD7~^xx9L{SI@lX{AKsvc z28ja~ZafrXHt~T(z07)czxjQ$v;On<=Pv*!@XN>{@51r0h5}(r897daZ&FNRod&59 zH#cc;VHZN-t#8rMaB9N@)4vve)9E z*B)3z)59}7Csaq$^tF*uq()K?*^}?mw~8$fFYuBT%v@GDe!o2+IH&P7>#L#C^5b-T zC6iC$Dw=m44@EQ(iL!aN>6lxU5?-$~l?`-d06oH*{4!M&Ld_5VyCQeb#&(0SzH~q+ zU&Pa7D9@Dbp|L`IV+V;nevBNyGdQvZ3LLjNdpFO4O6LctQ+FRwx}S?)aoj+jV*w6a zE-zw-Gmi^dj$KBAzxQ#Fp+Z($i(0ocL$%wT;c4;n46RjOh3!35`LD3N=AtI!aWxKc M#6%t#pXPA<58O4AS^xk5 literal 0 HcmV?d00001 diff --git a/out/production/Java_Petit_projet/items/weapons/staffs/Staff.class b/out/production/Java_Petit_projet/items/weapons/staffs/Staff.class new file mode 100644 index 0000000000000000000000000000000000000000..29cd1d4c5a70c2f986d38a014875ebcab6317e2b GIT binary patch literal 286 zcmZ`!yAA-~5F7@_LILdJpZA&VTLt`d3F{#A-o6l#B&G9fomp-P5?OuMsikS8>L2X!L0 zTkX#b5$tiak%UU1LODGjS2CW9)q$N_5Us^wA!23p*R+$J(u8L4e`TNG&Z2X?mJ?<6 yxapzZUR;FTg2O+UAWr^*vB1htHIVJzK{qxmxQwRFCW?&SxAstCMJO{`sC)qRf<83> literal 0 HcmV?d00001 diff --git a/out/production/Java_Petit_projet/items/weapons/swords/Dagger.class b/out/production/Java_Petit_projet/items/weapons/swords/Dagger.class new file mode 100644 index 0000000000000000000000000000000000000000..38beb32f72f5f57e0fa8dc3e58d2051078740677 GIT binary patch literal 691 zcmZva&u$Yj5XL_zn{58LO$bnELV@yklR)qcFV3q;juUn zBn~_P4~6)=8&Qh5j6I(De&ZSY=dbTS06fQD10|GwcoG#<1-i!SMHZfEb(+Lkn4Kl* zNfu7rB2ax|Vq>2Pl!N}XhMGWSUqwq@M*~eCQep#}0=@q-m>KC*z>C#F3v|Zs)khW1 zRUCyAo0>QpHPFT-A03IyxFXP;=`_(<_=<}_J=69uzm>ptFuqu#2#oquhuD(1hU?Tv z+LEl}$j>6@j^=rP$+4PGRcf5SKJ@I&WCA&A~T_LC61!`j;O7w<<6{wc1yOYSyyYu`^ChDR;SSw9~yAwC~yy9@76;E(mdE z_D!kYwA&MRhvpyhAcIFl{DTYPq;p_`^V#7ns=-O=JhB4{u1h=dRcZ?o} E7eTo`yZ`_I literal 0 HcmV?d00001 diff --git a/out/production/Java_Petit_projet/items/weapons/swords/TrainingSword.class b/out/production/Java_Petit_projet/items/weapons/swords/TrainingSword.class new file mode 100644 index 0000000000000000000000000000000000000000..7165577c8bdb580778063f56ae1cd53cec1ad4de GIT binary patch literal 728 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 diff --git a/src/events/StartEvent.java b/src/events/StartEvent.java new file mode 100644 index 0000000..88bc069 --- /dev/null +++ b/src/events/StartEvent.java @@ -0,0 +1,4 @@ +package events; + +public class StartEvent extends Event{ +} diff --git a/src/heroes/races/Dwarf.java b/src/heroes/races/Dwarf.java index 4d38dff..addf387 100644 --- a/src/heroes/races/Dwarf.java +++ b/src/heroes/races/Dwarf.java @@ -5,14 +5,19 @@ import heroes.Hero; public class Dwarf extends Race{ public Dwarf() { this.setRaceName("Nain"); + this.health = 10; + this.strength = 10; + this.defense = 10; + this.dexterity = -15; + this.intelligence = -10; } @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() - 15); - hero.setIntelligence(hero.getIntelligenceBaseLevel() - 10); + hero.setHealth(hero.getHealth() + health); + hero.setStrength(hero.getStrength() + strength); + hero.setDefense(hero.getDefense() + defense); + hero.setDexterity(hero.getDexterity() + dexterity); + hero.setIntelligence(hero.getIntelligence() + intelligence); } } diff --git a/src/heroes/races/Elf.java b/src/heroes/races/Elf.java index d86c63d..5b5bdd2 100644 --- a/src/heroes/races/Elf.java +++ b/src/heroes/races/Elf.java @@ -5,14 +5,19 @@ import heroes.Hero; public class Elf extends Race{ public Elf() { this.setRaceName("Elfe"); + this.health = -5; + this.strength = -5; + this.defense = - 5; + this.dexterity = 10; + this.intelligence = 10; } @Override public void adjustStats(Hero hero) { - hero.setHealth(hero.getHealthBaseLevel() - 5); - hero.setStrength(hero.getStrengthBaseLevel() - 5); - hero.setDefense(hero.getDefenseBaseLevel() - 5); - hero.setDexterity(hero.getDexterityBaseLevel() + 10); - hero.setIntelligence(hero.getIntelligenceBaseLevel() + 10); + hero.setHealth(hero.getHealth() + health); + hero.setStrength(hero.getStrength() + strength); + hero.setDefense(hero.getDefense() + defense); + hero.setDexterity(hero.getDexterity() + dexterity); + hero.setIntelligence(hero.getIntelligence() + intelligence); } } diff --git a/src/heroes/races/Human.java b/src/heroes/races/Human.java index 521f3a8..303ab81 100644 --- a/src/heroes/races/Human.java +++ b/src/heroes/races/Human.java @@ -5,14 +5,19 @@ import heroes.Hero; public class Human extends Race{ public Human() { this.setRaceName("Human"); + this.health = 5; + this.strength = 5; + this.defense = 5; + this.dexterity = 5; + this.intelligence = 5; } @Override public void adjustStats(Hero hero) { - hero.setHealth(hero.getHealthBaseLevel() + 5); - hero.setStrength(hero.getStrengthBaseLevel() + 5); - hero.setDefense(hero.getDefenseBaseLevel() + 5); - hero.setDexterity(hero.getDexterityBaseLevel() + 5); - hero.setIntelligence(hero.getIntelligenceBaseLevel() + 5); + hero.setHealth(hero.getHealth() + health); + hero.setStrength(hero.getStrength() + strength); + hero.setDefense(hero.getDefense() + defense); + hero.setDexterity(hero.getDexterity() + dexterity); + hero.setIntelligence(hero.getIntelligence() + intelligence); } } diff --git a/src/heroes/races/Ork.java b/src/heroes/races/Ork.java index e3722be..c39b256 100644 --- a/src/heroes/races/Ork.java +++ b/src/heroes/races/Ork.java @@ -3,16 +3,22 @@ package heroes.races; import heroes.Hero; public class Ork extends Race { + public Ork() { this.setRaceName("Orc"); + this.health = 10; + this.strength = 10; + this.defense = 10; + this.dexterity = -5; + this.intelligence = -10; } @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() - 10); + hero.setHealth(hero.getHealth() + health); + hero.setStrength(hero.getStrength() + strength); + hero.setDefense(hero.getDefense() + defense); + hero.setDexterity(hero.getDexterity() + dexterity); + hero.setIntelligence(hero.getIntelligence() + intelligence); } } diff --git a/src/heroes/races/Race.java b/src/heroes/races/Race.java index ba78f07..4f5e29b 100644 --- a/src/heroes/races/Race.java +++ b/src/heroes/races/Race.java @@ -4,6 +4,11 @@ import heroes.Hero; public abstract class Race { public String raceName; + public int health; + public int strength; + public int defense; + public int dexterity; + public int intelligence; public String getRaceName(){ return raceName; diff --git a/src/items/weapons/Fist.java b/src/items/weapons/Fist.java new file mode 100644 index 0000000..3a60627 --- /dev/null +++ b/src/items/weapons/Fist.java @@ -0,0 +1,15 @@ +package items.weapons; + +import heroes.Hero; + +public class Fist extends Weapon{ + public Fist() { + this.name = "Poings d'acier"; + } + + public void equip(Hero hero) { + hero.setWeapon(this); + hero.setStrength(hero.getStrength() + 5); + hero.setDexterity(hero.getDexterity() + 10); + } +} diff --git a/src/items/weapons/Weapon.java b/src/items/weapons/Weapon.java index 044266e..94cfd8a 100644 --- a/src/items/weapons/Weapon.java +++ b/src/items/weapons/Weapon.java @@ -3,4 +3,5 @@ package items.weapons; import items.Equipment; public abstract class Weapon extends Equipment { + } diff --git a/src/items/weapons/axes/Axe.java b/src/items/weapons/axes/Axe.java new file mode 100644 index 0000000..885669e --- /dev/null +++ b/src/items/weapons/axes/Axe.java @@ -0,0 +1,6 @@ +package items.weapons.axes; + +import items.weapons.Weapon; + +public abstract class Axe extends Weapon { +} diff --git a/src/items/weapons/axes/TrainingAxe.java b/src/items/weapons/axes/TrainingAxe.java new file mode 100644 index 0000000..122e2ec --- /dev/null +++ b/src/items/weapons/axes/TrainingAxe.java @@ -0,0 +1,16 @@ +package items.weapons.axes; + +import heroes.Hero; + +public class TrainingAxe extends Axe{ + public TrainingAxe() { + this.name = "Hache d'apprentissage"; + } + + public void equip(Hero hero) { + hero.setWeapon(this); + hero.setStrength(hero.getStrength() + 10); + hero.setDexterity(hero.getDexterity() -5); + hero.setIntelligence(hero.getIntelligence() -5); + } +} diff --git a/src/items/weapons/staffs/ApprenticeStaff.java b/src/items/weapons/staffs/ApprenticeStaff.java new file mode 100644 index 0000000..a61b3c2 --- /dev/null +++ b/src/items/weapons/staffs/ApprenticeStaff.java @@ -0,0 +1,14 @@ +package items.weapons.staffs; + +import heroes.Hero; + +public class ApprenticeStaff extends Staff { + public ApprenticeStaff() { + this.name = "Bâton d'apprenti"; + } + + public void equip(Hero hero) { + hero.setWeapon(this); + hero.setIntelligence(hero.getIntelligence() + 5); + } +} diff --git a/src/items/weapons/staffs/Staff.java b/src/items/weapons/staffs/Staff.java new file mode 100644 index 0000000..9e75553 --- /dev/null +++ b/src/items/weapons/staffs/Staff.java @@ -0,0 +1,6 @@ +package items.weapons.staffs; + +import items.weapons.Weapon; + +public abstract class Staff extends Weapon { +} diff --git a/src/items/weapons/swords/Dagger.java b/src/items/weapons/swords/Dagger.java new file mode 100644 index 0000000..3d051f4 --- /dev/null +++ b/src/items/weapons/swords/Dagger.java @@ -0,0 +1,15 @@ +package items.weapons.swords; + +import heroes.Hero; + +public class Dagger extends Sword{ + public Dagger() { + this.name = "Dague"; + } + + public void equip(Hero hero) { + hero.setWeapon(this); + hero.setStrength(hero.getStrength() + 2); + hero.setDexterity(hero.getDexterity() + 8); + } +} diff --git a/src/items/weapons/swords/Sword.java b/src/items/weapons/swords/Sword.java new file mode 100644 index 0000000..1a94e20 --- /dev/null +++ b/src/items/weapons/swords/Sword.java @@ -0,0 +1,6 @@ +package items.weapons.swords; + +import items.weapons.Weapon; + +public abstract class Sword extends Weapon { +} diff --git a/src/items/weapons/swords/TrainingSword.java b/src/items/weapons/swords/TrainingSword.java new file mode 100644 index 0000000..cb2a0d4 --- /dev/null +++ b/src/items/weapons/swords/TrainingSword.java @@ -0,0 +1,15 @@ +package items.weapons.swords; + +import heroes.Hero; + +public class TrainingSword extends Sword{ + public TrainingSword() { + this.name = "Épée d'Entraînement"; + } + + public void equip(Hero hero) { + hero.setWeapon(this); + hero.setStrength(hero.getStrength() + 5); + hero.setDexterity(hero.getDexterity() + 5); + } +} diff --git a/src/systems/Game.java b/src/systems/Game.java index 766a214..20b97b0 100644 --- a/src/systems/Game.java +++ b/src/systems/Game.java @@ -1,67 +1,59 @@ package systems; +import events.StartEvent; import heroes.Hero; import heroes.jobs.*; import heroes.races.*; -import items.chests.LeatherArmor; -import items.chests.MailChest; -import items.chests.PlateArmor; -import items.chests.RobeMage; -import items.helmets.Hat; -import items.helmets.Helm; +import items.chests.*; +import items.helmets.*; +import items.weapons.axes.TrainingAxe; +import items.weapons.staffs.ApprenticeStaff; +import items.weapons.swords.*; import java.util.Scanner; public class Game { - public Scanner scanner = new Scanner(System.in); + private final 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); - } + if (startGame.equalsIgnoreCase("oui") || startGame.equalsIgnoreCase("yes") || startGame.equalsIgnoreCase("y") || startGame.equalsIgnoreCase("o")) { + createCharacter(); + } else { + System.out.println("Très bien, à bientôt !"); + System.exit(0); } } - public void createCharacter() { + private 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); - } + if (choice.equalsIgnoreCase("oui") || choice.equalsIgnoreCase("yes") || choice.equalsIgnoreCase("y") || choice.equalsIgnoreCase("o")) { + createCharacter(); + } else { + System.out.println("Très bien, " + name + "."); + Hero hero = new Hero(name); + hero.printStats(); + selectJob(hero); } } - public void selectJob(Hero hero) { + private 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 !"); - } - case "mage", "m" -> { - hero.setJob(new Mage()); - System.out.println("Tu as choisi la classe de mage !"); - } - case "voleur", "v" -> { - hero.setJob(new Rogue()); - System.out.println("Tu as choisi la classe de voleur !"); + case "guerrier", "g" -> hero.setJob(new Warrior()); + case "mage", "m" -> hero.setJob(new Mage()); + case "voleur", "v" -> hero.setJob(new Rogue()); + default -> { + System.out.println("Je n'ai pas compris ta réponse."); + selectJob(hero); + return; } } System.out.println("Voici les caractéristiques de ton personnage :"); @@ -69,9 +61,10 @@ public class Game { 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); + if (choice.equalsIgnoreCase("oui") || choice.equalsIgnoreCase("yes") || choice.equalsIgnoreCase("y") || choice.equalsIgnoreCase("o")) { + selectRace(hero); + } else { + selectJob(hero); } } @@ -79,21 +72,14 @@ public class Game { System.out.println("Veux-tu jouer un nain ? (N), un orc ? (O), un elfe (E) ou un humain (H) ?"); String choice = scanner.next(); switch (choice.toLowerCase()) { - case "nain", "n" -> { - hero.setRace(new Dwarf()); - System.out.println("Tu as choisi d'être un nain !"); - } - case "orc", "o" -> { - hero.setRace(new Ork()); - System.out.println("Tu as choisi d'être un orc !"); - } - case "elfe", "e" -> { - hero.setRace(new Elf()); - System.out.println("Tu as choisi d'être un elfe !"); - } - case "humain", "h" -> { - hero.setRace(new Human()); - System.out.println("Tu as choisi d'être un humain !"); + case "nain", "n" -> hero.setRace(new Dwarf()); + case "orc", "o" -> hero.setRace(new Ork()); + case "elfe", "e" -> hero.setRace(new Elf()); + case "humain", "h" -> hero.setRace(new Human()); + default -> { + System.out.println("Je n'ai pas compris ta réponse."); + selectRace(hero); + return; } } System.out.println("Voici les caractéristiques de ton personnage :"); @@ -101,152 +87,127 @@ public class Game { System.out.println(hero.getRace().getRaceName() + "\n" + hero.getJob().getJobName()); System.out.println("Veux-tu continuer ?\n1.Oui\n2.Non"); String choice2 = scanner.next(); - switch (choice2.toLowerCase()) { - case "oui", "yes", "y", "o" -> { - System.out.println("Très bien, Et maintenant, ton équipement."); - equipHelmet(hero); - } - case "non", "no", "n" -> selectRace(hero); - } - } - private void equipHelmet(Hero hero) { - System.out.println("Veux-tu équiper un casque ?\n1.Oui\n2.Non"); - String choice = scanner.next(); - switch (choice.toLowerCase()) { - case "oui", "yes", "y", "o" -> { - System.out.println("D'accord, lequel ? Un Heaume ? (H), un Chapeau ? (C) ?, ou rien ?"); - String helmet = scanner.next(); - switch (helmet.toLowerCase()) { - case "heaume", "h" -> { - hero.setHelmet(new Helm()); - hero.getHelmet().equip(hero); - System.out.println("Tu as équipé un heaume !"); - } - case "chapeau", "c" -> { - hero.setHelmet(new Hat()); - hero.getHelmet().equip(hero); - System.out.println("Tu as équipé un chapeau !"); - } - case "none", "rien", "r", "n" -> System.out.println("Très bien, tu n'as pas équipé de casque."); - default -> { - System.out.println("Je n'ai pas compris ta réponse."); - equipHelmet(hero); - } - } - } - case "non", "no", "n" -> { - System.out.println("Très bien, tu n'as pas équipé de casque."); - } - } - hero.printStats(); - System.out.println(hero.getRace().getRaceName() + "\n" + hero.getJob().getJobName()); - System.out.println("Veux-tu continuer ?\n1.Oui\n2.Non"); - String choice2 = scanner.next(); - switch (choice2.toLowerCase()) { - case "oui", "yes", "y", "o" -> equipArmor(hero); - case "non", "no", "n" -> equipHelmet(hero); - } - } - private void equipArmor(Hero hero) { - System.out.println("Veux-tu t'équiper d'une armure ?\n1.Oui\n2.Non"); - String choice = scanner.next(); - switch (choice.toLowerCase()) { - case "oui", "yes", "y", "o" -> { - System.out.println("D'accord, lequel ? Une armure en plaque (P) ? Une cotte de mail (M) ? Une tunique en cuir (T) ? Une robe de mage (R) ?"); - String armor = scanner.next(); - switch (armor.toLowerCase()) { - case "plaque", "plate", "p", "armor", "armure" -> { - hero.setChest(new PlateArmor()); - hero.getChest().equip(hero); - System.out.println("Tu t'es équipé d'une armure en plaque !"); - } - case "tunique","tunic", "t", "leather", "cuir" -> { - hero.setChest(new LeatherArmor()); - hero.getChest().equip(hero); - System.out.println("Tu t'es équipé d'une tunique de cuir !"); - } - case "mail","mailles", "m", "cotte", "chest" -> { - hero.setChest(new MailChest()); - hero.getChest().equip(hero); - System.out.println("Tu t'es équipé d'une tunique de cuir !"); - } - case "robe","mage", "r" -> { - hero.setChest(new RobeMage()); - hero.getChest().equip(hero); - System.out.println("Tu t'es équipé d'une tunique de cuir !"); - } - case "none", "rien" -> { - System.out.println("Tu veux VRAIMENT y aller à poil ?"); - String validate = scanner.next(); - switch (validate.toLowerCase()) { - case "oui", "yes", "y", "o" -> System.out.println("Ah bah d'accord le nudiste ..."); - case "non", "no", "n" -> equipArmor(hero); - } - } - default -> { - System.out.println("Je n'ai pas compris ta réponse."); - equipHelmet(hero); - } - } - } - case "non", "no", "n" -> System.out.println("Très bien, tu n'as pas équipé d'armure."); - } - hero.printStats(); - System.out.println(hero.getRace().getRaceName() + "\n" + hero.getJob().getJobName()); - System.out.println("Veux-tu continuer ?\n1.Oui\n2.Non"); - String choice2 = scanner.next(); - switch (choice2.toLowerCase()) { - case "oui", "yes", "y", "o" -> equipWeapon(hero); - case "non", "no", "n" -> equipArmor(hero); + if (choice2.equalsIgnoreCase("oui") || choice2.equalsIgnoreCase("yes") || choice2.equalsIgnoreCase("y") || choice2.equalsIgnoreCase("o")) { + System.out.println("Très bien, Et maintenant, ton équipement."); + equipHelmet(hero); + } else { + selectRace(hero); } } - private void equipWeapon(Hero hero){ - System.out.println("Veux-tu t'équiper d'une arme ?\n1.Oui\n2.Non"); + private void equipHelmet(Hero hero) { + System.out.println("Veux-tu équiper un casque ?\n1.Oui\n2.Non"); String choice = scanner.next(); - switch (choice.toLowerCase()) { - case "oui", "yes", "y", "o" -> { - System.out.println("D'accord, lequel ? Une épée (E) ? Un bâton (B) ? Un arc (A) ? Une dague (D) ?"); - String weapon = scanner.next(); - switch (weapon.toLowerCase()) { - case "sword", "epee", "e" -> { - hero.setWeapon(new Sword()); - hero.getWeapon().equip(hero); - System.out.println("Tu t'es équipé d'une épée !"); - } - case "staff", "baton", "b" -> { - hero.setWeapon(new Staff()); - hero.getWeapon().equip(hero); - System.out.println("Tu t'es équipé d'un bâton !"); - } - case "bow", "arc", "a" -> { - hero.setWeapon(new Bow()); - hero.getWeapon().equip(hero); - System.out.println("Tu t'es équipé d'un arc !"); - } - case "dagger", "dague", "d" -> { - hero.setWeapon(new Dagger()); - hero.getWeapon().equip(hero); - System.out.println("Tu t'es équipé d'une dague !"); - } - case "none", "rien" -> { - System.out.println("Tu veux VRAIMENT y aller à mains nues ?"); - String validate = scanner.next(); - switch (validate.toLowerCase()) { - case "oui", "yes", "y", "o" -> System.out.println("Ah bah d'accord le nudiste ..."); - case "non", "no", "n" -> equipWeapon(hero); - } - } - default -> { - System.out.println("Je n'ai pas compris ta réponse."); - equipWeapon(hero); - } + if (choice.equalsIgnoreCase("oui") || choice.equalsIgnoreCase("yes") || choice.equalsIgnoreCase("y") || choice.equalsIgnoreCase("o")) { + System.out.println("D'accord, lequel ? Un Heaume ? (H), un Chapeau ? (C) ?, ou rien ?"); + String helmet = scanner.next(); + switch (helmet.toLowerCase()) { + case "heaume", "h" -> hero.setHelmet(new Helm()); + case "chapeau", "c" -> hero.setHelmet(new Hat()); + case "none", "rien", "r", "n" -> System.out.println("Très bien, tu n'as pas équipé de casque."); + default -> { + System.out.println("Je n'ai pas compris ta réponse."); + equipHelmet(hero); + return; } } - case "non", "no", "n" -> System.out.println("Très bien, tu n'as pas équipé d'arme."); + if (hero.getHelmet() != null) hero.getHelmet().equip(hero); + } else { + System.out.println("Très bien, tu n'as pas équipé de casque."); } hero.printStats(); System.out.println(hero.getRace().getRaceName() + "\n" + hero.getJob().getJobName()); System.out.println("Veux-tu continuer ?\n1.Oui\n2.Non"); + String choice2 = scanner.next(); + if (choice2.equalsIgnoreCase("oui") || choice2.equalsIgnoreCase("yes") || choice2.equalsIgnoreCase("y") || choice2.equalsIgnoreCase("o")) { + equipArmor(hero); + } else { + equipHelmet(hero); + } } -} + + private void equipArmor(Hero hero) { + System.out.println("Veux-tu t'équiper d'une armure ?\n1.Oui\n2.Non"); + String choice = scanner.next(); + if (choice.equalsIgnoreCase("oui") || choice.equalsIgnoreCase("yes") || choice.equalsIgnoreCase("y") || choice.equalsIgnoreCase("o")) { + System.out.println("D'accord, lequel ? Une armure en plaque (P) ? Une cotte de mail (M) ? Une tunique en cuir (T) ? Une robe de mage (R) ?"); + String armor = scanner.next(); + switch (armor.toLowerCase()) { + case "plaque", "plate", "p", "armor", "armure" -> hero.setChest(new PlateArmor()); + case "tunique", "tunic", "t", "leather", "cuir" -> hero.setChest(new LeatherArmor()); + case "mail", "mailles", "m", "cotte", "chest" -> hero.setChest(new MailChest()); + case "robe", "mage", "r" -> hero.setChest(new RobeMage()); + case "none", "rien" -> { + System.out.println("Tu veux VRAIMENT y aller à poil ?"); + String validate = scanner.next(); + if (validate.equalsIgnoreCase("oui") || validate.equalsIgnoreCase("yes") || validate.equalsIgnoreCase("y") || validate.equalsIgnoreCase("o")) { + System.out.println("Ah bah d'accord le nudiste ..."); + } else { + equipArmor(hero); + } + return; + } + default -> { + System.out.println("Je n'ai pas compris ta réponse."); + equipArmor(hero); + return; + } + } + if (hero.getChest() != null) hero.getChest().equip(hero); + } else { + System.out.println("Très bien, tu n'as pas équipé d'armure."); + } + hero.printStats(); + System.out.println(hero.getRace().getRaceName() + "\n" + hero.getJob().getJobName()); + System.out.println("Veux-tu continuer ?\n1.Oui\n2.Non"); + String choice2 = scanner.next(); + if (choice2.equalsIgnoreCase("oui") || choice2.equalsIgnoreCase("yes") || choice2.equalsIgnoreCase("y") || choice2.equalsIgnoreCase("o")) { + equipWeapon(hero); + } else { + equipArmor(hero); + } + } + + private void equipWeapon(Hero hero) { + System.out.println("Veux-tu t'équiper d'une arme ?\n1.Oui\n2.Non"); + String choice = scanner.next(); + if (choice.equalsIgnoreCase("oui") || choice.equalsIgnoreCase("yes") || choice.equalsIgnoreCase("y") || choice.equalsIgnoreCase("o")) { + System.out.println("D'accord, lequel ? Une épée (E) ? Un bâton (B) ? Une hache (H) ? Une dague (D) ? Ou rien ?"); + String weapon = scanner.next(); + switch (weapon.toLowerCase()) { + case "sword", "epee", "e" -> hero.setWeapon(new TrainingSword()); + case "staff", "baton", "b" -> hero.setWeapon(new ApprenticeStaff()); + case "axe", "hache", "h" -> hero.setWeapon(new TrainingAxe()); + case "dagger", "dague", "d" -> hero.setWeapon(new Dagger()); + case "none", "rien" -> { + System.out.println("Tu veux VRAIMENT y aller à mains nues ?"); + String validate = scanner.next(); + if (validate.equalsIgnoreCase("oui") || validate.equalsIgnoreCase("yes") || validate.equalsIgnoreCase("y") || validate.equalsIgnoreCase("o")) { + System.out.println("Rien de tel que ses poings pour montrer sa puissance."); + } else { + equipWeapon(hero); + } + return; + } + default -> { + System.out.println("Je n'ai pas compris ta réponse."); + equipWeapon(hero); + return; + } + } + if (hero.getWeapon() != null) hero.getWeapon().equip(hero); + } else { + System.out.println("Très bien, tu n'as pas équipé d'arme."); + } + hero.printStats(); + System.out.println(hero.getRace().getRaceName() + "\n" + hero.getJob().getJobName()); + System.out.println("Veux-tu continuer ?\n1.Oui\n2.Non"); + String choice2 = scanner.next(); + if (choice2.equalsIgnoreCase("oui") || choice2.equalsIgnoreCase("yes") || choice2.equalsIgnoreCase("y") || choice2.equalsIgnoreCase("o")) { + System.out.println("Très bien, tu es prêt à commencer l'aventure !"); + new StartEvent(); + } else { + equipWeapon(hero); + } + } +} \ No newline at end of file