Skip to content

Commit 2cc9f30

Browse files
authored
Merge pull request #54 from CodingFactory-Repos/Develop
Develop
2 parents ed9cabc + 6ed232d commit 2cc9f30

16 files changed

+637
-0
lines changed

.DS_Store

6 KB
Binary file not shown.

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
# BlueJ files
88
*.ctxt
99

10+
data/characters/*.json
11+
1012
# Mobile Tools for Java (J2ME)
1113
.mtj.tmp/
1214

.idea/.gitignore

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/misc.xml

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/modules.xml

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/runConfigurations.xml

Lines changed: 10 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/vcs.xml

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Java-Terminal-Combat.iml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<module type="JAVA_MODULE" version="4">
3+
<component name="NewModuleRootManager" inherit-compiler-output="true">
4+
<exclude-output />
5+
<content url="file://$MODULE_DIR$">
6+
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
7+
</content>
8+
<orderEntry type="inheritedJdk" />
9+
<orderEntry type="sourceFolder" forTests="false" />
10+
</component>
11+
</module>

Jeu java.iml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<module type="JAVA_MODULE" version="4">
3+
<component name="NewModuleRootManager" inherit-compiler-output="true">
4+
<exclude-output />
5+
<content url="file://$MODULE_DIR$">
6+
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
7+
</content>
8+
<orderEntry type="inheritedJdk" />
9+
<orderEntry type="sourceFolder" forTests="false" />
10+
</component>
11+
</module>

data/characters/ignore

Whitespace-only changes.

src/Characters.java

Lines changed: 211 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,211 @@
1+
import java.util.*;
2+
3+
public class Characters extends GlobalFunctions {
4+
public void main() {
5+
if (listJson().size() == 0) {
6+
charactersCreate(null);
7+
} else {
8+
charactersList();
9+
}
10+
}
11+
12+
public void charactersList() {
13+
int returnId = 1;
14+
15+
showTitle("Mes%20Personnage");
16+
17+
System.out.println("Voici la liste de tous les personnages :");
18+
System.out.print("0: Créer un Personnage");
19+
for (int i = 0; i < listJson().size(); i++) {
20+
System.out.print(" - " + (i + 1) + ": " + listJson().get(i));
21+
returnId++;
22+
}
23+
24+
System.out.println(" - " + returnId + ": Retour");
25+
System.out.println("Quel personnage voulez-vous sélectionner ?");
26+
System.out.print("> ");
27+
28+
int choice = scanner.nextInt();
29+
30+
if (choice == 0) {
31+
charactersCreate(null);
32+
} else if(returnId == choice) {
33+
showMenu();
34+
} else {
35+
if ((choice - 1) < listJson().size()) {
36+
characterSelected((String) listJson().get(choice - 1));
37+
} else {
38+
System.out.println("Vous avez sélectionné un personnage inexistant");
39+
}
40+
}
41+
}
42+
43+
public void characterSelected(String name) {
44+
showTitle(name);
45+
46+
System.out.println("Vous avez sélectionné " + name);
47+
48+
String temp = callJson(name);
49+
temp = temp.replace("[", "").replace("]", "");
50+
String[] stats = temp.split(", ");
51+
52+
System.out.println("");
53+
54+
System.out.println("Il appartient a la classe de " + stats[1] + " (puissance de " + stats[5] + ")");
55+
System.out.println("Sa puissance d'attaque est de " + stats[2]);
56+
System.out.println("Sa vie est de " + stats[3]);
57+
System.out.println("Son initiative est de " + stats[4] + "\n");
58+
59+
String[] menuArray = { "Modifier", "Supprimer", "Retour" };
60+
61+
for (int i = 0; i < menuArray.length; i++) {
62+
System.out.println((i + 1) + ": " + menuArray[i]);
63+
}
64+
65+
System.out.print("> ");
66+
67+
switch (scanner.nextInt()) {
68+
case 1:
69+
characterModify(name);
70+
break;
71+
case 2:
72+
charactersDelete(name);
73+
break;
74+
case 3:
75+
charactersList();
76+
break;
77+
default:
78+
System.out.println("\n");
79+
System.out.println("Erreur");
80+
break;
81+
}
82+
}
83+
84+
public void characterModify(String name) {
85+
86+
87+
showTitle("Modifier%20" + name);
88+
89+
System.out.println("Vous allez modifier " + name);
90+
System.out.println("Êtes-vous sûr de vouloir continuer ?");
91+
System.out.println("1: Oui");
92+
System.out.println("2: Non");
93+
System.out.print("> ");
94+
95+
switch (scanner.nextInt()) {
96+
case 1:
97+
deleteJson(name);
98+
charactersCreate(name);
99+
break;
100+
case 2:
101+
characterSelected(name);
102+
break;
103+
default:
104+
System.out.println("\n");
105+
System.out.println("Erreur");
106+
break;
107+
}
108+
}
109+
110+
private void charactersCreate(String defineName) {
111+
String name;
112+
String className;
113+
Double attack;
114+
double health;
115+
double initiative;
116+
117+
System.out.println(defineName);
118+
119+
if (defineName == null) {
120+
showTitle("Créer%20un%20personnage");
121+
122+
System.out.println("Quel est le nom de votre personnage ?");
123+
System.out.print("> ");
124+
125+
scanner.nextLine();
126+
name = scanner.nextLine();
127+
} else {
128+
name = defineName;
129+
}
130+
131+
showTitle("Classes");
132+
System.out.println("Quel est classe de votre personnage ?");
133+
String[] classArrays = { "Guerrier", "Magicien", "Voleurs", "Par default" };
134+
for (int i = 0; i < classArrays.length; i++) {
135+
System.out.println((i + 1) + ": " + classArrays[i]);
136+
}
137+
System.out.print("> ");
138+
139+
className = classArrays[scanner.nextInt() - 1];
140+
141+
showTitle("L'attaque");
142+
System.out.println("Quel est la puissance d'attaque de votre personnage ?");
143+
System.out.print("> ");
144+
145+
attack = scanner.nextDouble();
146+
147+
showTitle("La%20Vie");
148+
System.out.println("Quel est la vie de votre personnage ?");
149+
System.out.print("> ");
150+
151+
health = scanner.nextDouble();
152+
153+
showTitle("L'initiative");
154+
System.out.println("Quel est l'initiative de votre personnage ?");
155+
System.out.print("> ");
156+
157+
initiative = scanner.nextDouble();
158+
159+
System.out.println(name + " " + className + " " + attack + " " + health + " " + initiative);
160+
161+
if (className == "Guerrier") {
162+
showTitle("Le%20bouclier");
163+
System.out.println("Quel est la puissance de protection du bouclier ?");
164+
System.out.print("> ");
165+
166+
createJson(name, className, attack, health, initiative, scanner.nextDouble());
167+
} else if(className == "Magicien"){
168+
showTitle("La%20Magie");
169+
System.out.println("Quel est le niveau de la magie de votre personnage ?");
170+
System.out.print("> ");
171+
172+
createJson(name, className, attack, health, initiative, scanner.nextDouble());
173+
} else if(className == "Voleurs"){
174+
showTitle("Le%20vol");
175+
System.out.println("Quel est le niveau d'esquive de votre personnage ?");
176+
System.out.print("> ");
177+
178+
createJson(name, className, attack, health, initiative, scanner.nextDouble());
179+
} else {
180+
createJson(name, className, attack, health, initiative, 0.0);
181+
}
182+
183+
charactersList();
184+
}
185+
186+
public void charactersDelete(String name) {
187+
188+
189+
showTitle("Supprimer%20" + name);
190+
191+
System.out.println("Vous allez supprimer " + name);
192+
System.out.println("Êtes-vous sûr de vouloir continuer ?");
193+
System.out.println("1: Oui");
194+
System.out.println("2: Non");
195+
System.out.print("> ");
196+
197+
switch (scanner.nextInt()) {
198+
case 1:
199+
deleteJson(name);
200+
charactersList();
201+
break;
202+
case 2:
203+
characterSelected(name);
204+
break;
205+
default:
206+
System.out.println("\n");
207+
System.out.println("Erreur");
208+
break;
209+
}
210+
}
211+
}

src/Fights.java

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
public class Fights extends GlobalFunctions {
2+
public Fights(String[] playerData1, String[] playerData2) {
3+
// Initialize
4+
showTitle("Chargement");
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.println("1: Voir les logs - 2: Retour");
34+
35+
System.out.print("> ");
36+
scanner.nextLine();
37+
38+
switch (scanner.nextLine()) {
39+
case "1":
40+
System.out.println(logs);
41+
42+
System.out.println("Appuyez sur enter pour retourner au menu");
43+
44+
System.out.print("> ");
45+
scanner.nextLine();
46+
47+
showMenu();
48+
break;
49+
case "2":
50+
showMenu();
51+
break;
52+
default:
53+
break;
54+
}
55+
} else {
56+
double playerAttack;
57+
58+
if (Math.floor(playerTurns / 2) == (playerTurns / 2)) {
59+
playerAttack = player1.getAttack();
60+
61+
player2.damage(playerAttack);
62+
63+
if(player2.getHealth() <= 0){
64+
player2.setHealth(0);
65+
}
66+
67+
logs += "[Player 1 turn] " + player2.getName() + " 🥊 " + player1.getName() + " (-" + playerAttack + " ♥)\n";
68+
logs += "[Player 1 turn] ♥ " + player2.getName() + ": " + player2.getHealth() + "\n\n";
69+
} else {
70+
playerAttack = player2.getAttack();
71+
72+
player1.damage(playerAttack);
73+
74+
if(player1.getHealth() <= 0){
75+
player1.setHealth(0);
76+
}
77+
78+
logs += "[Player 2 turn] " + player1.getName() + " 🥊 " + player2.getName() + " (-" + playerAttack + " ♥)\n";
79+
logs += "[Player 2 turn] ♥ " + player1.getName() + ": " + player1.getHealth() + "\n\n";
80+
}
81+
82+
playerTurns++;
83+
}
84+
}
85+
}
86+
}

0 commit comments

Comments
 (0)