Armor create and the choice of the armor modify the character's stat
This commit is contained in:
parent
ff6af4948d
commit
cf1a8e9cc3
Binary file not shown.
BIN
out/production/Java_Petit_projet/items/Equipment.class
Normal file
BIN
out/production/Java_Petit_projet/items/Equipment.class
Normal file
Binary file not shown.
Binary file not shown.
BIN
out/production/Java_Petit_projet/items/chests/Chest.class
Normal file
BIN
out/production/Java_Petit_projet/items/chests/Chest.class
Normal file
Binary file not shown.
BIN
out/production/Java_Petit_projet/items/chests/LeatherArmor.class
Normal file
BIN
out/production/Java_Petit_projet/items/chests/LeatherArmor.class
Normal file
Binary file not shown.
BIN
out/production/Java_Petit_projet/items/chests/MailChest.class
Normal file
BIN
out/production/Java_Petit_projet/items/chests/MailChest.class
Normal file
Binary file not shown.
BIN
out/production/Java_Petit_projet/items/chests/PlateArmor.class
Normal file
BIN
out/production/Java_Petit_projet/items/chests/PlateArmor.class
Normal file
Binary file not shown.
BIN
out/production/Java_Petit_projet/items/chests/RobeMage.class
Normal file
BIN
out/production/Java_Petit_projet/items/chests/RobeMage.class
Normal file
Binary file not shown.
BIN
out/production/Java_Petit_projet/items/helmets/Hat.class
Normal file
BIN
out/production/Java_Petit_projet/items/helmets/Hat.class
Normal file
Binary file not shown.
BIN
out/production/Java_Petit_projet/items/helmets/Helm.class
Normal file
BIN
out/production/Java_Petit_projet/items/helmets/Helm.class
Normal file
Binary file not shown.
Binary file not shown.
BIN
out/production/Java_Petit_projet/items/helmets/NoHelmet.class
Normal file
BIN
out/production/Java_Petit_projet/items/helmets/NoHelmet.class
Normal file
Binary file not shown.
BIN
out/production/Java_Petit_projet/items/weapons/Weapon.class
Normal file
BIN
out/production/Java_Petit_projet/items/weapons/Weapon.class
Normal file
Binary file not shown.
Binary file not shown.
@ -2,11 +2,19 @@ package heroes;
|
||||
|
||||
import heroes.jobs.Job;
|
||||
import heroes.races.Race;
|
||||
import items.helmets.Helmet;
|
||||
import items.shields.Shield;
|
||||
import items.chests.*;
|
||||
import items.weapons.Weapon;
|
||||
|
||||
public class Hero {
|
||||
protected String name;
|
||||
protected Race race;
|
||||
protected Job job;
|
||||
protected Helmet helmet;
|
||||
protected Chest chest;
|
||||
protected Weapon weapon;
|
||||
protected Shield shield;
|
||||
protected int healthBaseLevel;
|
||||
protected int strengthBaseLevel;
|
||||
protected int dexterityBaseLevel;
|
||||
@ -68,6 +76,38 @@ public class Hero {
|
||||
return dexterityBaseLevel;
|
||||
}
|
||||
|
||||
public Helmet getHelmet() {
|
||||
return helmet;
|
||||
}
|
||||
|
||||
public void setHelmet(Helmet helmet) {
|
||||
this.helmet = helmet;
|
||||
}
|
||||
|
||||
public Chest getChest() {
|
||||
return chest;
|
||||
}
|
||||
|
||||
public void setChest(Chest chest) {
|
||||
this.chest = chest;
|
||||
}
|
||||
|
||||
public Weapon getWeapon() {
|
||||
return weapon;
|
||||
}
|
||||
|
||||
public void setWeapon(Weapon weapon) {
|
||||
this.weapon = weapon;
|
||||
}
|
||||
|
||||
public Shield getShield() {
|
||||
return shield;
|
||||
}
|
||||
|
||||
public void setShield(Shield shield) {
|
||||
this.shield = shield;
|
||||
}
|
||||
|
||||
public void setDexterityBaseLevel(int dexterityBaseLevel) {
|
||||
this.dexterityBaseLevel = dexterityBaseLevel;
|
||||
}
|
||||
|
||||
8
src/items/Equipment.java
Normal file
8
src/items/Equipment.java
Normal file
@ -0,0 +1,8 @@
|
||||
package items;
|
||||
|
||||
import heroes.Hero;
|
||||
|
||||
public abstract class Equipment {
|
||||
public String name;
|
||||
public abstract void equip(Hero hero);
|
||||
}
|
||||
@ -1,6 +0,0 @@
|
||||
package items.armors;
|
||||
|
||||
import items.Item;
|
||||
|
||||
abstract class Armor extends Item {
|
||||
}
|
||||
6
src/items/chests/Chest.java
Normal file
6
src/items/chests/Chest.java
Normal file
@ -0,0 +1,6 @@
|
||||
package items.chests;
|
||||
|
||||
import items.Equipment;
|
||||
|
||||
public abstract class Chest extends Equipment {
|
||||
}
|
||||
15
src/items/chests/LeatherArmor.java
Normal file
15
src/items/chests/LeatherArmor.java
Normal file
@ -0,0 +1,15 @@
|
||||
package items.chests;
|
||||
|
||||
import heroes.Hero;
|
||||
|
||||
public class LeatherArmor extends Chest {
|
||||
public LeatherArmor() {
|
||||
this.name = "Tunique de Cuir";
|
||||
}
|
||||
|
||||
public void equip(Hero hero) {
|
||||
hero.setChest(this);
|
||||
hero.setDefense(hero.getDefense() + 10);
|
||||
hero.setDexterity(hero.getDexterity() + 5);
|
||||
}
|
||||
}
|
||||
15
src/items/chests/MailChest.java
Normal file
15
src/items/chests/MailChest.java
Normal file
@ -0,0 +1,15 @@
|
||||
package items.chests;
|
||||
|
||||
import heroes.Hero;
|
||||
|
||||
public class MailChest extends Chest {
|
||||
public MailChest() {
|
||||
this.name = "Cotte de Mailles";
|
||||
}
|
||||
|
||||
public void equip(Hero hero) {
|
||||
hero.setChest(this);
|
||||
hero.setDefense(hero.getDefense() + 15);
|
||||
hero.setDexterity(hero.getDexterity() - 5);
|
||||
}
|
||||
}
|
||||
16
src/items/chests/PlateArmor.java
Normal file
16
src/items/chests/PlateArmor.java
Normal file
@ -0,0 +1,16 @@
|
||||
package items.chests;
|
||||
|
||||
import heroes.Hero;
|
||||
|
||||
public class PlateArmor extends Chest {
|
||||
public PlateArmor() {
|
||||
this.name = "Armure de plaque";
|
||||
}
|
||||
|
||||
@Override
|
||||
public void equip(Hero hero) {
|
||||
hero.setChest(this);
|
||||
hero.setDefense(hero.getDefense() + 20);
|
||||
hero.setDexterity(hero.getDexterity() - 10);
|
||||
}
|
||||
}
|
||||
16
src/items/chests/RobeMage.java
Normal file
16
src/items/chests/RobeMage.java
Normal file
@ -0,0 +1,16 @@
|
||||
package items.chests;
|
||||
|
||||
import heroes.Hero;
|
||||
|
||||
public class RobeMage extends Chest {
|
||||
public RobeMage() {
|
||||
this.name = "Robe de Mage";
|
||||
}
|
||||
|
||||
public void equip(Hero hero) {
|
||||
hero.setChest(this);
|
||||
hero.setDefense(hero.getDefense() - 5);
|
||||
hero.setDexterity(hero.getDexterity() -5);
|
||||
hero.setIntelligence(hero.getIntelligence() + 15);
|
||||
}
|
||||
}
|
||||
17
src/items/helmets/Hat.java
Normal file
17
src/items/helmets/Hat.java
Normal file
@ -0,0 +1,17 @@
|
||||
package items.helmets;
|
||||
|
||||
import heroes.Hero;
|
||||
|
||||
public class Hat extends Helmet {
|
||||
public Hat() {
|
||||
this.name = "Hat";
|
||||
}
|
||||
|
||||
@Override
|
||||
public void equip(Hero hero) {
|
||||
hero.setHelmet(this);
|
||||
hero.setDefense(hero.getDefense() + 5);
|
||||
hero.setIntelligence(hero.getIntelligence() + 5);
|
||||
hero.setDexterity(hero.getDexterity() - 5);
|
||||
}
|
||||
}
|
||||
16
src/items/helmets/Helm.java
Normal file
16
src/items/helmets/Helm.java
Normal file
@ -0,0 +1,16 @@
|
||||
package items.helmets;
|
||||
|
||||
import heroes.Hero;
|
||||
|
||||
public class Helm extends Helmet {
|
||||
public Helm() {
|
||||
this.name = "Heaume";
|
||||
}
|
||||
|
||||
public void equip(Hero hero) {
|
||||
hero.setHelmet(this);
|
||||
hero.setDefense(hero.getDefense() + 15);
|
||||
hero.setDexterity(hero.getDexterity() - 5);
|
||||
hero.setIntelligence(hero.getIntelligence() - 5);
|
||||
}
|
||||
}
|
||||
@ -1,6 +1,6 @@
|
||||
package items.helmets;
|
||||
|
||||
import items.Item;
|
||||
import items.Equipment;
|
||||
|
||||
public abstract class Helmet extends Item {
|
||||
public abstract class Helmet extends Equipment {
|
||||
}
|
||||
|
||||
13
src/items/helmets/NoHelmet.java
Normal file
13
src/items/helmets/NoHelmet.java
Normal file
@ -0,0 +1,13 @@
|
||||
package items.helmets;
|
||||
|
||||
import heroes.Hero;
|
||||
|
||||
public class NoHelmet extends Helmet {
|
||||
public NoHelmet() {
|
||||
this.name = "Rien";
|
||||
}
|
||||
|
||||
public void equip(Hero hero) {
|
||||
hero.setHelmet(this);
|
||||
}
|
||||
}
|
||||
6
src/items/weapons/Weapon.java
Normal file
6
src/items/weapons/Weapon.java
Normal file
@ -0,0 +1,6 @@
|
||||
package items.weapons;
|
||||
|
||||
import items.Equipment;
|
||||
|
||||
public abstract class Weapon extends Equipment {
|
||||
}
|
||||
@ -3,6 +3,12 @@ package systems;
|
||||
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 java.util.Scanner;
|
||||
|
||||
@ -48,17 +54,14 @@ public class Game {
|
||||
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 :");
|
||||
@ -100,10 +103,150 @@ public class Game {
|
||||
String choice2 = scanner.next();
|
||||
switch (choice2.toLowerCase()) {
|
||||
case "oui", "yes", "y", "o" -> {
|
||||
System.out.println("Très bien, tu es prêt à commencer l'aventure !");
|
||||
System.exit(0);
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
private void equipWeapon(Hero hero){
|
||||
System.out.println("Veux-tu t'équiper d'une arme ?\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);
|
||||
}
|
||||
}
|
||||
}
|
||||
case "non", "no", "n" -> 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");
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user