Skip to content
Snippets Groups Projects
Commit c2b1330e authored by Gabriel Mille's avatar Gabriel Mille
Browse files

correction input

parent 4190a0d7
No related branches found
No related tags found
No related merge requests found
......@@ -5,10 +5,13 @@ import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Scanner;
public class Input {
private String input = "";
private ArrayList<String> inputRange;
private static BufferedReader in= new BufferedReader( new InputStreamReader(System.in));
public String getInput() {
return input;
......@@ -27,23 +30,15 @@ public class Input {
}
public void newInput() throws IOException {
public void newInput(Scanner in) throws IOException {
do {
BufferedReader in= new BufferedReader( new InputStreamReader(System.in));
try {
try {
setInput(in.readLine());
} catch (IOException e) {
// TODO Auto-generated catch block
System.err.println(e.getMessage() + ": Contact support");
}
setInput(in.nextLine());
} catch (InvalidInputException e) {
Display.newPrintln(e.getMessage());
} catch (Exception e) {
System.err.println(e.getMessage()+": Contact support");
} finally {
// in.close();
}
}
while (!validInput());
......
......@@ -7,6 +7,7 @@ import java.io.InputStreamReader;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Random;
import java.util.Scanner;
class Main {
......@@ -27,15 +28,7 @@ class Main {
level = gamedata.getLevelReached();
}
try {
menu.display();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
menu.display();
menu.validate();
Display.clearScreen();
......@@ -62,7 +55,7 @@ class Main {
ArrayList<String> actionNames = new ArrayList<>();
for (Action a : actionList) actionNames.add(a.getName());
BufferedReader in= new BufferedReader( new InputStreamReader(System.in));
Scanner in= new Scanner(System.in);
Random rand = new Random();
......@@ -70,7 +63,7 @@ class Main {
level.ennemyShowing();
Input input = new Input();
input.newInput();
input.newInput(in);
Display.goToDialogBox();
......@@ -82,9 +75,8 @@ class Main {
LocalDateTime timeBeforeAttack = LocalDateTime.now();
int attackTime = 5 - (int)(5 * rand.nextDouble());
if (input.getInput().equals("a")) {
level.possibleActions();
input.newInput();
input.newInput(in);
// Boucle tant que le joueur n'a pas taper de nom d'une attaque valide ou tape trop tard ou tape q
while ((!actionNames.contains(input.getInput()) || !Attack.attackInTime(timeBeforeAttack, attackTime)) && !input.getInput().equals("q")) {
......@@ -96,13 +88,13 @@ class Main {
level.ennemyFaster(randomEnemyAttack);
Display.displayNewHealthBar();
timeBeforeAttack = LocalDateTime.now();
input.newInput();
input.newInput(in);
}
if (!actionNames.contains(input.getInput())){
Display.clearDialogBox();
level.invalidActionChoice();
input.newInput();
input.newInput(in);
}
}
......@@ -129,8 +121,6 @@ class Main {
//Display.clearDialogBox();
input.newInput();
if (enemy.isDead()){
level.ennemyDying();
player.revive();
......@@ -155,6 +145,5 @@ class Main {
in.close();
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