Skip to content

Commit

Permalink
Merge pull request #58 from terence-meunier/feat/V3
Browse files Browse the repository at this point in the history
feat(v3): Update Character class fixes #51
  • Loading branch information
terence-meunier authored May 5, 2021
2 parents 246bdfd + abfca7c commit ecd9d16
Show file tree
Hide file tree
Showing 6 changed files with 82 additions and 60 deletions.
102 changes: 68 additions & 34 deletions src/characters/Character.java
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@
abstract public class Character extends Slot {

protected String name;
protected int lifeLevel;
protected int strongLevel;
protected int life;
protected int atk;
protected int position;

/**
Expand All @@ -34,22 +34,11 @@ abstract public class Character extends Slot {
*/
public Character(String name, int lifeLevel, int strongLevel) {
this.name = name;
this.lifeLevel = lifeLevel;
this.strongLevel = strongLevel;
this.life = lifeLevel;
this.atk = strongLevel;
this.position = 0;
}

public String toString() {
String output = "";
output += "Nom : " + name + "\n";
output += "-----------------------\n";
output += "\n";
output += "niveau de vie : " + lifeLevel + "\n";
output += "niveau d'attaque : " + strongLevel + "\n";
output += "-----------------------------------------\n";
return output;
}

/**
*
* Getter pour récupèrer la position du personnage
Expand Down Expand Up @@ -94,22 +83,22 @@ public void setName(String name) {
*
* Getter permettant de récupèrer le niveau de vie du personnage
*
* @return int lifeLevel
* @return int life
* Le niveau de vie du personnage dans un type int (primitif)
*/
public int getLifeLevel() {
return lifeLevel;
public int getLife() {
return life;
}

/**
*
* Setter permettant de modifier le niveau de vie du personnage
*
* @param lifeLevel int
* @param life int
* Le niveau de vie du personnage qui est de type int (primitif)
*/
public void setLifeLevel(int lifeLevel) {
this.lifeLevel = lifeLevel;
public void setLife(int life) {
this.life = life;
}

/**
Expand All @@ -119,8 +108,8 @@ public void setLifeLevel(int lifeLevel) {
* @return int strongLevel
* Le niveau d'attaque du personnage dans un type int (primitif)
*/
public int getStrongLevel() {
return strongLevel;
public int getAtk() {
return atk;
}

/**
Expand All @@ -130,10 +119,30 @@ public int getStrongLevel() {
* @param strongLevel int
* Le niveau d'attaque du personnage qui est de de type int (primitif)
*/
public void setStrongLevel(int strongLevel) {
this.strongLevel = strongLevel;
public void setAtk(int strongLevel) {
this.atk = strongLevel;
}

/**
* Method toString
* @return
*/
@Override
public String toString() {
String output = "";
output += "Nom : " + name + "\n";
output += "-----------------------\n";
output += "\n";
output += "niveau de vie : " + life + "\n";
output += "niveau d'attaque : " + atk + "\n";
output += "-----------------------------------------\n";
return output;
}

/**
* Method for move the player on the gameboard with throw dice
* @param throwDice
*/
public void move(int throwDice) {
int out = throwDice - (63 - this.position);
this.position += throwDice;
Expand All @@ -142,32 +151,57 @@ public void move(int throwDice) {
}
}

/**
* Method for drop an item on the gameboard location
* @param slot
*/
public void drop(Slot slot) {
if (slot instanceof Potion) {
// Si le slot contient une potion
System.out.println("Santé actuel de " + name + " : " + lifeLevel + " points de vie");
if (lifeLevel < 10) {
lifeLevel += ((Potion) slot).getLifePoints();
System.out.println("Santé actuel de " + name + " : " + life + " points de vie");
if (life < 10) {
life += ((Potion) slot).getLifePoints();
System.out.println(((Potion) slot).getName());
System.out.println("+ " + ((Potion) slot).getLifePoints() + " pts de vie");
if (lifeLevel > 10) {
if (life > 10) {
System.out.println("Votre santé est pleine");
lifeLevel = 10;
life = 10;
}
} else {
System.out.println("Vous venez de trouver une potion, mais votre santé est déjà pleine");
}
System.out.println("Santé actuel de " + name + " : " + lifeLevel + " points de vie");
System.out.println("Santé actuel de " + name + " : " + life + " points de vie");
}
}

public void fight(Ennemy ennemy) {
ennemy.takeDamages(strongLevel);
/**
* Method for fight an ennemy
* @param ennemy
*/
public void fight(Character ennemy) {
ennemy.takeDamages(atk);
}

abstract public void takeDamages(int damages);
/**
* Method for take damages
* @param damages
*/
public void takeDamages(int damages) {
life -= damages;
}

/**
* Method for reset position of character to begin gameboard
*/
public void reset() {
position = 0;
}

/**
* Method for test if the character is alive
* @return
*/
public boolean isAlive() {
return life > 0;
}
}
12 changes: 4 additions & 8 deletions src/characters/Ennemy.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,17 +14,13 @@ public class Ennemy extends Character {
* Constructeur avec 3 paramètres
* @param name String
* Le nom de l'ennemie
* @param lifeLevel int
* @param life int
* Les points de vie de l'ennemie
* @param atqLevel int
* @param atk int
* Les points d'attaque de l'ennemie
*/
public Ennemy(String name, int lifeLevel, int atqLevel) {
super(name, lifeLevel, atqLevel);
}

public void takeDamages(int damages) {
lifeLevel -= damages;
public Ennemy(String name, int life, int atk) {
super(name, life, atk);
}

}
6 changes: 1 addition & 5 deletions src/characters/Warrior.java
Original file line number Diff line number Diff line change
Expand Up @@ -95,13 +95,9 @@ public void fight(Ennemy ennemy) {
}
}

public void takeDamages(int damages) {
lifeLevel -= damages;
}

public void reset() {
super.reset();
lifeLevel = 5;
life = 5;
weapon = null;
}

Expand Down
6 changes: 1 addition & 5 deletions src/characters/Wizard.java
Original file line number Diff line number Diff line change
Expand Up @@ -96,13 +96,9 @@ public void fight(Ennemy ennemy) {
}
}

public void takeDamages(int damages) {
lifeLevel -= damages;
}

public void reset() {
super.reset();
lifeLevel = 3;
life = 3;
spell = null;
}

Expand Down
12 changes: 6 additions & 6 deletions src/game/Game.java
Original file line number Diff line number Diff line change
Expand Up @@ -81,23 +81,23 @@ public void fight() {
character.fight((Ennemy) gameBoard.getBoard().get(character.getPosition()));

// On regarde le résultat de la frappe du joueur sur l'ennemie
if (((Ennemy) gameBoard.getBoard().get(character.getPosition())).getLifeLevel() <= 0) {
if (((Ennemy) gameBoard.getBoard().get(character.getPosition())).getLife() <= 0) {
// L'ennemie est vaincue
System.out.println("L'ennemie est vaincue est disparé dans les abimes !!!");
gameBoard.getBoard().set(character.getPosition(), null);
} else {
// L'ennemie à survécu
// L'ennemie inflige des dégats au joueur
System.out.println("L'ennemie à survécu a votre attaque.");
System.out.println("Il vous s'inflige " + ((Ennemy) gameBoard.getBoard().get(character.getPosition())).getStrongLevel() + " pts de dégats");
character.takeDamages(((Ennemy) gameBoard.getBoard().get(character.getPosition())).getStrongLevel());
System.out.println("Il vous s'inflige " + ((Ennemy) gameBoard.getBoard().get(character.getPosition())).getAtk() + " pts de dégats");
character.takeDamages(((Ennemy) gameBoard.getBoard().get(character.getPosition())).getAtk());

// On teste si le personnage est vaincue
if (character.getLifeLevel() <= 0) {
if (character.getLife() <= 0) {
System.out.println("Vous êtes mort!!!");
character.setPosition(63);
} else {
System.out.println("Vous resortez de ce combat avec " + character.getLifeLevel() + " pts de vie");
System.out.println("Vous resortez de ce combat avec " + character.getLife() + " pts de vie");
int choice = tellAnyQuestionsInt("Voulez vous continuez (1: Oui / 2: Non) : ", 1, 2);
switch (choice) {
case 1: {
Expand Down Expand Up @@ -151,7 +151,7 @@ public void checkPosition() {
public void checkInLive() throws CharacterOutOfGameBoardException {
// Levée d'une exception si le joueur à dépassé la case finale du plateau de jeu
if (character.getPosition() == 63) {
if (character.getLifeLevel() <= 0) {
if (character.getLife() <= 0) {
System.out.println("Vous avez perdu!");
} else {
System.out.println("Bravo !!! Vous avez gagné");
Expand Down
4 changes: 2 additions & 2 deletions src/menu/Menu.java
Original file line number Diff line number Diff line change
Expand Up @@ -156,13 +156,13 @@ public void setStatsCharacter(Character character) {
}
case 2: {
System.out.println("Donner les nouveaux points de vie :");
character.setLifeLevel(input.nextInt());
character.setLife(input.nextInt());
input.nextLine();
break;
}
case 3: {
System.out.println("Donner les nouveaux points d'attaque :");
character.setStrongLevel(input.nextInt());
character.setAtk(input.nextInt());
input.nextLine();
break;
}
Expand Down

0 comments on commit ecd9d16

Please sign in to comment.