Skip to content

Commit 9293d58

Browse files
committed
💪 - Add Fights
1 parent c8d5cb7 commit 9293d58

File tree

8 files changed

+182
-140
lines changed

8 files changed

+182
-140
lines changed

data/characters/Axel.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
["Axel", "Magicien", "25.0", "300.0", "30.0", "30.0"][]
1+
[Axel, Guerrier, 30.0, 400.0, 30.0, 10.0]

data/characters/Louis.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
["Louis", "Guerrier", "40.0", "250.0", "50.0", "10.0"][]
1+
[Louis, Magicien, 30.0, 400.0, 20.0, 100.0]

src/Characters.java

Lines changed: 26 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,36 @@
11
import java.util.*;
22

3-
public class Characters extends GlobalFunctions {
3+
public class Characters extends GlobalFunctions {
44
public void main() {
5-
// if(callJson() == null) {
6-
// System.out.println("Un fichier characters.json a été crée");
7-
// createJson("characters");
8-
// } else {
9-
// System.out.println("Le fichier characters.json existe déjà");
10-
// }
11-
12-
if (listJson() == null) {
13-
System.out.println("Aucun personnage n'a été crée");
5+
if (listJson().size() == 0) {
6+
charactersCreate(null);
147
} else {
158
charactersList();
169
}
1710
}
1811

1912
public void charactersList() {
20-
// Initialize
21-
Scanner scanner = new Scanner(System.in);
22-
23-
int createId = 1;
13+
int returnId = 1;
2414

25-
showTitle("Mes%20Caracteres");
15+
showTitle("Mes%20Personnage");
2616

2717
System.out.println("Voici la liste de tous les personnages :");
28-
System.out.print("0: Retour");
18+
System.out.print("0: Créer un Personnage");
2919
for (int i = 0; i < listJson().size(); i++) {
3020
System.out.print(" - " + (i + 1) + ": " + listJson().get(i));
31-
createId++;
21+
returnId++;
3222
}
3323

34-
System.out.println(" - " + createId + " Créer un caractère");
24+
System.out.println(" - " + returnId + " Retour");
3525
System.out.println("Quel personnage voulez-vous sélectionner ?");
3626
System.out.print("> ");
3727

3828
int choice = scanner.nextInt();
3929

4030
if (choice == 0) {
41-
showMenu();
42-
} else if(createId == choice) {
4331
charactersCreate(null);
32+
} else if(returnId == choice) {
33+
showMenu();
4434
} else {
4535
if ((choice - 1) < listJson().size()) {
4636
characterSelected((String) listJson().get(choice - 1));
@@ -51,8 +41,7 @@ public void charactersList() {
5141
}
5242

5343
public void characterSelected(String name) {
54-
// Initialize
55-
Scanner scanner = new Scanner(System.in);
44+
5645

5746
showTitle(name);
5847

@@ -64,9 +53,10 @@ public void characterSelected(String name) {
6453

6554
System.out.println("");
6655

67-
System.out.println("Sa puissance d'attaque est de " + stats[0]);
68-
System.out.println("Sa vie est de " + stats[1]);
69-
System.out.println("Son initiative est de " + stats[2] + "\n");
56+
System.out.println("Il appartient a la classe de " + stats[0]);
57+
System.out.println("Sa puissance d'attaque est de " + stats[1]);
58+
System.out.println("Sa vie est de " + stats[2]);
59+
System.out.println("Son initiative est de " + stats[3] + "\n");
7060

7161
String[] menuArray = { "Modifier", "Supprimer", "Retour" };
7262

@@ -94,8 +84,7 @@ public void characterSelected(String name) {
9484
}
9585

9686
public void characterModify(String name) {
97-
// Initialize
98-
Scanner scanner = new Scanner(System.in);
87+
9988

10089
showTitle("Modifier%20" + name);
10190

@@ -121,24 +110,24 @@ public void characterModify(String name) {
121110
}
122111

123112
private void charactersCreate(String defineName) {
124-
// Initialize
125-
Scanner scanner = new Scanner(System.in);
126-
127113
String name;
128114
String className;
129115
Double attack;
130116
double health;
131117
double initiative;
132118

133-
if (defineName != null) {
134-
name = defineName;
135-
} else {
119+
System.out.println(defineName);
120+
121+
if (defineName == null) {
136122
showTitle("Créer%20un%20personnage");
137123

138124
System.out.println("Quel est le nom de votre personnage ?");
139125
System.out.print("> ");
140126

127+
scanner.nextLine();
141128
name = scanner.nextLine();
129+
} else {
130+
name = defineName;
142131
}
143132

144133
showTitle("Classes");
@@ -176,31 +165,22 @@ private void charactersCreate(String defineName) {
176165
System.out.println("Quel est la puissance de protection du bouclier ?");
177166
System.out.print("> ");
178167

179-
createJson(name, className, attack, health, initiative, scanner.nextDouble(), 0.0);
168+
createJson(name, className, attack, health, initiative, scanner.nextDouble());
180169
} else if(className == "Magicien"){
181170
showTitle("La%20Magie");
182171
System.out.println("Quel est le niveau de la magie de votre personnage ?");
183172
System.out.print("> ");
184173

185-
double magic = scanner.nextDouble();
186-
187-
showTitle("L'attaque%20de%20la%20magie");
188-
System.out.println("Quel est le niveau de l'attaque de la magie de votre personnage ?");
189-
System.out.print("> ");
190-
191-
double attack_magic = scanner.nextDouble();
192-
193-
createJson(name, className, attack, health, initiative, magic, attack_magic);
174+
createJson(name, className, attack, health, initiative, scanner.nextDouble());
194175
} else {
195-
createJson(name, className, attack, health, initiative, 0.0, 0.0);
176+
createJson(name, className, attack, health, initiative, 0.0);
196177
}
197178

198179
charactersList();
199180
}
200181

201182
public void charactersDelete(String name) {
202-
// Initialize
203-
Scanner scanner = new Scanner(System.in);
183+
204184

205185
showTitle("Supprimer%20" + name);
206186

src/Fights.java

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
public class Fights extends GlobalFunctions {
2+
public Fights(String[] playerData1, String[] playerData2) {
3+
// Initialize
4+
showTitle("Play");
5+
6+
// Prepare Fight
7+
Player player1 = new Player(playerData1[0], playerData1[1], Double.parseDouble(playerData1[2]), Double.parseDouble(playerData1[3]), Double.parseDouble(playerData1[4]), Double.parseDouble(playerData1[5]));
8+
Player player2 = new Player(playerData2[0], playerData2[1], Double.parseDouble(playerData2[2]), Double.parseDouble(playerData2[3]), Double.parseDouble(playerData2[4]), Double.parseDouble(playerData2[5]));
9+
10+
// Fight
11+
startFight(player1, player2);
12+
}
13+
14+
private void startFight(Player player1, Player player2) {
15+
double playerTurns;
16+
String logs = "";
17+
18+
if(player1.getInitiative() > player2.getInitiative()){
19+
playerTurns = 0;
20+
} else {
21+
playerTurns = 1;
22+
}
23+
24+
boolean turns = true;
25+
26+
while(turns) {
27+
if (player1.getHealth() <= 0 || player2.getHealth() <= 0) {
28+
turns = false;
29+
showTitle(player1.getHealth() <= 0 ? player1.getName()+"%20est%20KO%20!" : player2.getName() + "%20est%20KO%20!");
30+
31+
System.out.println("Le combat est terminé en " + playerTurns + " tours, " + player1.getName() + " est a " + player1.getHealth() + " et le " + player2.getName() + " est a " + player2.getHealth());
32+
33+
System.out.print("> Retour");
34+
scanner.nextLine();
35+
scanner.nextLine();
36+
showMenu();
37+
} else {
38+
if (Math.floor(playerTurns / 2) == (playerTurns / 2)) {
39+
player2.damage(player1.getAttack());
40+
41+
42+
43+
if(player2.getHealth() <= 0){
44+
player2.setHealth(0);
45+
}
46+
} else {
47+
player1.damage(player2.getAttack());
48+
49+
if(player1.getHealth() <= 0){
50+
player1.setHealth(0);
51+
}
52+
}
53+
54+
playerTurns++;
55+
}
56+
}
57+
}
58+
}

src/GlobalFunctions.java

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
import java.util.*;
55

66
public class GlobalFunctions {
7+
static Scanner scanner = new Scanner(System.in);
8+
79
public static void showTitle(String text) {
810
System.out.print("\033[H\033[2J");
911

@@ -38,21 +40,16 @@ public static String callJson(String name) {
3840
}
3941
}
4042

41-
public static boolean createJson(String name, String className, double attack, double health, double initiative, double powers1, double powers2) {
43+
public static boolean createJson(String name, String className, double attack, double health, double initiative, double powers) {
4244
//Write JSON file
4345
try (FileWriter file = new FileWriter("./data/characters/" + name + ".json")) {
4446

45-
if(powers1 != 0.0){
46-
if(powers2 != 0.0){
47-
file.write("[\"" + name + "\", \"" + className + "\", \"" + attack + "\", \"" + health + "\", \"" + initiative + "\", \"" + powers1 + "\", \"" + powers2 + "\"]");
48-
} else {
49-
file.write("[\"" + name + "\", \"" + className + "\", \"" + attack + "\", \"" + health + "\", \"" + initiative + "\", \"" + powers1 + "\"]");
50-
}
47+
if(powers != 0.0){
48+
file.write("[" + name + ", " + className + ", " + attack + ", " + health + ", " + initiative + ", " + powers + "]");
5149
} else {
52-
file.write("[\"" + name + "\", \"" + className + "\", \"" + attack + "\", \"" + health + "\", \"" + initiative + "\"]");
50+
file.write("[" + name + ", " + className + ", " + attack + ", " + health + ", " + initiative + ", 0.0]");
5351
}
5452

55-
file.write("[]");
5653
file.flush();
5754

5855
return true;
@@ -87,8 +84,6 @@ public static boolean deleteJson(String name) {
8784
}
8885

8986
public static void showMenu() {
90-
// Initialize
91-
Scanner scanner = new Scanner(System.in);
9287
Play play = new Play();
9388
Characters characters = new Characters();
9489

src/Main.java

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,17 @@
1-
import java.util.Scanner;
2-
3-
class Main extends GlobalFunctions{
4-
1+
class Main extends GlobalFunctions {
52
public static void main(String[] args) {
63

74
System.out.print("\033[H\033[2J");
85
System.out.println("Chargement...");
96

10-
showMenu();
7+
showMenu();
8+
9+
// while (true) {
10+
// try {
11+
// showMenu();
12+
// } catch (Exception e) {
13+
// System.out.println("Erreur : Une erreur c'est produite (" + e.getMessage() + ")");
14+
// }
15+
// }
1116
}
1217
}

0 commit comments

Comments
 (0)