Skip to content
Snippets Groups Projects
Commit 88206905 authored by Mohamed Taarit's avatar Mohamed Taarit
Browse files

ajout de barre de vie

parents 3ebbb919 983d314d
No related branches found
No related tags found
No related merge requests found
________________________________________________________________________________________________________________________
...@@ -13,7 +13,7 @@ ________________________________________________________________________________ ...@@ -13,7 +13,7 @@ ________________________________________________________________________________
Commandes : Commandes :
a - Attaquer a - Action
q - Quitter q - Quitter
________________________________________________________________________________________________________________________ ________________________________________________________________________________________________________________________
\ No newline at end of file
...@@ -31,20 +31,27 @@ public class Display { ...@@ -31,20 +31,27 @@ public class Display {
} }
public static void goToDialogBox(){ public static void goToDialogBox(){
setCursorPos(row+7,0); setCursorPos(1,0);
//System.out.flush();
} }
public static void clearDialogBox() throws IOException{ public static void clearDialogBox(){
clearScreen(); clearScreen();
setCursorPos(row, 0); setCursorPos(row, 0);
printDialogBox(); printDialogBox();
goToDialogBox(); goToDialogBox();
} }
public static void printDialogBox() throws IOException{ public static void printDialogBox(){
setCursorPos(50, 0); setCursorPos(100, 0);
String dialogBox = loadTextFile("assets/DialogBox.text"); String dialogBox = "";
try {
dialogBox = loadTextFile("assets/DialogBox.text");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(dialogBox); System.out.println(dialogBox);
} }
...@@ -52,7 +59,7 @@ public class Display { ...@@ -52,7 +59,7 @@ public class Display {
setCursorPos(50, 0); setCursorPos(50, 0);
} }
public static void newPrintln(String text) throws IOException{ public static void newPrintln(String text){
clearDialogBox(); clearDialogBox();
System.out.println(text); System.out.println(text);
goToUserInput(); goToUserInput();
......
...@@ -32,7 +32,7 @@ public class Enemy extends Character{ ...@@ -32,7 +32,7 @@ public class Enemy extends Character{
public String toString() { public String toString() {
return name + " LE " + characteristic.name() + " : level " + this.level + " - Current life level : " + (int)this.currentHealth; return name + " LE " + characteristic.name() + " : level " + this.level;
} }
public Characteristics getCharacteristic() { public Characteristics getCharacteristic() {
......
package bitFight; package bitFight;
import java.io.BufferedReader;
import java.io.IOException; import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList; import java.util.ArrayList;
public class Input { public class Input {
...@@ -39,11 +37,7 @@ public class Input { ...@@ -39,11 +37,7 @@ public class Input {
e.printStackTrace(); e.printStackTrace();
} }
} catch (InvalidInputException e) { } catch (InvalidInputException e) {
try { Display.newPrintln(e.getMessage());
Display.newPrintln(e.getMessage());
} catch (IOException e1) {
e1.printStackTrace();
}
} }
} }
while (!validInput()); while (!validInput());
......
...@@ -59,38 +59,42 @@ public class Level{ ...@@ -59,38 +59,42 @@ public class Level{
// annonce un nouvel ennemi // annonce un nouvel ennemi
public void ennemyShowing() { public void ennemyShowing() {
System.out.println("An ennemy just appeared : " + this.ennemy.toString()); System.out.println("An ennemy just appeared : " + this.ennemy.toString());
System.out.println();
} }
public void ennemyFaster(Attack attack) { public void ennemyFaster(Attack attack) {
Display.clearDialogBox();
System.out.println("The ennemy attacks before you can !"); System.out.println("The ennemy attacks before you can !");
player.setCurrentHealth(player.getCurrentHealth() - attack.getDamage() * this.ennemy.getAttackMultiplier()); //Récupère une attaque aléatoire dans l'enum player.setCurrentHealth(player.getCurrentHealth() - attack.getDamage() * this.ennemy.getAttackMultiplier()); //Récupère une attaque aléatoire dans l'enum
System.out.println(attack.getName() + "!! You're getting " + (int) attack.getDamage() * this.ennemy.getAttackMultiplier() + " of damage!"); System.out.println(attack.getName() + "!! You're getting " + (int) attack.getDamage() * this.ennemy.getAttackMultiplier() + " of damage!");
System.out.println(this.player.getName() + "'s life' : " + this.displayPlayerHealth()); System.out.println(this.player.getName() + "'s life' : " + this.displayPlayerHealth());
Display.goToUserInput();
} }
// affiche la jauge de vie // affiche la jauge de vie
public void displayLifePoints (){ public void displayLifePoints (){
System.err.println(); System.err.println();
System.out.println("\t \t " +this.player.getName()); System.out.println("\t \t " +this.player.getName());
System.out.print(Terminal.GREEN+" \t current health "+Terminal.GREEN); System.out.print(Terminal.GREEN+" \t current health "+Terminal.RESET);
for (int indice = 0; indice < ((this.player.getCurrentHealth()/this.player.getMaxHealth())*100)/2; indice ++){ for (int indice = 0; indice < ((this.player.getCurrentHealth()/this.player.getMaxHealth())*100)/2; indice ++){
System.out.print(Terminal.GREEN+ "▬"+ Terminal.GREEN); System.out.print(Terminal.GREEN+ "▬"+ Terminal.RESET);
} }
System.out.print(" "); System.out.print(" ");
System.err.println( (int) this.player.getCurrentHealth() + "/" + (int) this.player.getMaxHealth()); System.err.println( (int) this.player.getCurrentHealth() + "/" + (int) this.player.getMaxHealth());
System.out.print(Terminal.YELLOW+"\t current energy "+Terminal.YELLOW); System.out.print(Terminal.YELLOW+"\t current energy "+Terminal.RESET);
for (int indice = 0; indice < (this.player.getCurrentEnergy())/2; indice ++){ for (int indice = 0; indice < (this.player.getCurrentEnergy())/2; indice ++){
System.out.print(Terminal.YELLOW +"▬"+ Terminal.YELLOW); System.out.print(Terminal.YELLOW +"▬"+ Terminal.RESET);
} }
System.out.print(" "); System.out.print(" ");
System.err.println(this.player.getCurrentEnergy() + "/" + this.player.getMaxEnergy()); System.err.println(this.player.getCurrentEnergy() + "/" + this.player.getMaxEnergy());
} }
// affiche la jauge de vie du joueur public String displayPlayerHealth(){
public String displayPlayerHealth() { return (int )this.ennemy.getCurrentHealth() +" / " + (int) this.ennemy.getMaxHealth();
return (int)this.player.getCurrentHealth() +"/" + (int)this.player.getMaxHealth();
} }
// annonce la mort de l'ennemi // annonce la mort de l'ennemi
public void ennemyDying() { public void ennemyDying() {
System.out.println("The ennemy is dead!"); System.out.println("The ennemy is dead!");
...@@ -122,14 +126,18 @@ public class Level{ ...@@ -122,14 +126,18 @@ public class Level{
// méthodes de combats // méthodes de combats
// liste des attaques et défenses possibles pour le joueur // liste des attaques et défenses possibles pour le joueur
public void possibleActions() { public void possibleActions() {
Display.clearDialogBox();
System.out.println("Possible attacks are : \n \t punch, kick, double kick, supermanpunch. \""); System.out.println("Possible attacks are : \n \t punch, kick, double kick, supermanpunch. \"");
System.out.println("Possible defenses are : \n \t lowblock, highblock\""); System.out.println("Possible defenses are : \n \t lowblock, highblock\"");
Display.goToUserInput();
} }
// quand l'utilisateur choisit une action qui n'existe pas // quand l'utilisateur choisit une action qui n'existe pas
public void invalidActionChoice() { public void invalidActionChoice() {
Display.clearDialogBox();
System.out.println("This action is not available."); System.out.println("This action is not available.");
possibleActions(); possibleActions();
Display.goToUserInput();
} }
// méthodes de paramètrages // méthodes de paramètrages
...@@ -201,5 +209,5 @@ public class Level{ ...@@ -201,5 +209,5 @@ public class Level{
} }
...@@ -46,9 +46,11 @@ class Main { ...@@ -46,9 +46,11 @@ class Main {
Display.goToDialogBox(); Display.goToDialogBox();
Display.newPrintln(Terminal.RED_BACKGROUND + "ATTAQUEZ" + Terminal.RESET + " ou " + Terminal.PURPLE_BACKGROUND + "QUITTEZ" + Terminal.RESET); // arrivée de l'ennemi
level.ennemyShowing();
level.displayGameRules(); Display.newPrintln(enemy.toString());
Display.newPrintln(Terminal.RED_BACKGROUND + "ATTAQUEZ" + Terminal.RESET + " ou " + Terminal.PURPLE_BACKGROUND + "QUITTEZ" + Terminal.RESET);
Display.goToUserInput(); Display.goToUserInput();
...@@ -68,15 +70,13 @@ class Main { ...@@ -68,15 +70,13 @@ class Main {
if (input.getInput().equals("a")) { if (input.getInput().equals("a")) {
while (!input.getInput().equals("q") && !enemy.isDead() && !player.isDead()) { while (!input.getInput().equals("q") && !enemy.isDead() && !player.isDead()) {
//A garder au début de la boucle, mesure le temps que le joueur à pris d'écrire //A garder au début de la boucle, mesure le temps que le joueur à pris d'écrire
LocalDateTime timeBeforeAttack = LocalDateTime.now(); LocalDateTime timeBeforeAttack = LocalDateTime.now();
int attackTime = 5 - (int)(5 * rand.nextDouble()); int attackTime = 5 - (int)(5 * rand.nextDouble());
// arrivée de l'ennemi if (input.getInput().equals("a")) {
level.ennemyShowing();
level.possibleActions(); level.possibleActions();
input.newInput(); input.newInput();
...@@ -95,8 +95,6 @@ class Main { ...@@ -95,8 +95,6 @@ class Main {
Display.clearDialogBox(); Display.clearDialogBox();
level.invalidActionChoice(); level.invalidActionChoice();
input.newInput(); input.newInput();
System.out.println(actionNames.toString());
System.out.println(input.getInput());
} }
} }
...@@ -112,7 +110,9 @@ class Main { ...@@ -112,7 +110,9 @@ class Main {
Display.newPrintln(enemy.toString()); Display.newPrintln(enemy.toString());
//Display.clearDialogBox(); //Display.clearDialogBox();
input.newInput();
if (enemy.isDead()){ if (enemy.isDead()){
level.ennemyDying(); level.ennemyDying();
player.revive(); player.revive();
...@@ -135,4 +135,5 @@ class Main { ...@@ -135,4 +135,5 @@ class Main {
Save.saveObject("res/gamedata", gamedata); Save.saveObject("res/gamedata", gamedata);
} }
} }
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment