Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
COO-beat-them-all
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Guillaume DEWISME
COO-beat-them-all
Commits
aa7b1c38
Commit
aa7b1c38
authored
Dec 03, 2024
by
Guillaume Dewisme
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
refactor
parent
c7b2d137
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
98 additions
and
92 deletions
+98
-92
BeatThemAllGame.java
src/main/java/org/example/BeatThemAllGame.java
+0
-88
Enemy.java
src/main/java/org/example/Enemy.java
+0
-2
Hero.java
src/main/java/org/example/Hero.java
+0
-2
Item.java
src/main/java/org/example/Item.java
+7
-0
Logger.java
src/main/java/org/example/Logger.java
+35
-0
Main.java
src/main/java/org/example/Main.java
+56
-0
No files found.
src/main/java/org/example/BeatThemAllGame.java
View file @
aa7b1c38
package
org
.
example
;
import
org.example.SpecialAbility
;
import
org.example.DoubleAttack
;
import
org.example.Character
;
import
org.example.Hero
;
import
java.io.FileWriter
;
import
java.io.IOException
;
import
java.time.LocalDateTime
;
import
java.util.*
;
public
class
BeatThemAllGame
{
// Je l'ai fait à la va vite donc très probablement que ca ne fonctionne pas parfaitement (j'ai pas testé)
public
static
class
Logger
{
private
static
Logger
instance
;
private
FileWriter
writer
;
private
Logger
()
{
try
{
writer
=
new
FileWriter
(
"game_log.txt"
,
true
);
}
catch
(
IOException
e
)
{
System
.
out
.
println
(
"Erreur lors de l'initialisation du logger : "
+
e
.
getMessage
());
}
}
public
static
Logger
getInstance
()
{
if
(
instance
==
null
)
{
instance
=
new
Logger
();
}
return
instance
;
}
public
void
log
(
String
message
)
{
try
{
String
timestamp
=
"["
+
LocalDateTime
.
now
()
+
"] "
;
writer
.
write
(
timestamp
+
message
+
"\n"
);
writer
.
flush
();
}
catch
(
IOException
e
)
{
System
.
out
.
println
(
"Erreur lors de l'écriture dans le fichier de log : "
+
e
.
getMessage
());
}
}
}
public
static
class
HalveEnemyHP
implements
SpecialAbility
{
@Override
public
void
activate
(
Character
user
,
Character
target
)
{
...
...
@@ -69,13 +30,6 @@ public class BeatThemAllGame {
}
}
// Objets
public
interface
Item
{
void
applyEffect
(
Hero
hero
);
String
getName
();
}
public
static
class
HealthPotion
implements
Item
{
@Override
public
void
applyEffect
(
Hero
hero
)
{
...
...
@@ -104,48 +58,6 @@ public class BeatThemAllGame {
}
}
// gére tout le jeu
public
static
void
main
(
String
[]
args
)
{
Scanner
scanner
=
new
Scanner
(
System
.
in
);
displayTitle
();
Hero
hero
=
chooseHero
(
scanner
);
System
.
out
.
println
();
System
.
out
.
println
(
"Votre aventure commence !"
);
Logger
.
getInstance
().
log
(
"Début de l'aventure de "
+
hero
.
name
);
boolean
gameRunning
=
true
;
while
(
gameRunning
&&
hero
.
isAlive
())
{
Enemy
enemy
=
generateRandomEnemy
();
System
.
out
.
println
(
"\nUn "
+
enemy
.
name
+
" apparaît !"
);
Logger
.
getInstance
().
log
(
hero
.
name
+
" rencontre un "
+
enemy
.
name
);
battle
(
scanner
,
hero
,
enemy
);
if
(!
hero
.
isAlive
())
{
displayGameOver
();
Logger
.
getInstance
().
log
(
hero
.
name
+
" est mort"
);
break
;
}
hero
.
resetSpecialAbility
();
hero
.
gainExperience
(
50
);
// Chance de trouver un objet après le combat
if
(
new
Random
().
nextInt
(
100
)
<
50
)
{
Item
foundItem
=
getRandomItem
();
System
.
out
.
println
(
"Vous trouvez un objet sur l'ennemi !"
);
hero
.
addItem
(
foundItem
);
}
// Demander au joueur s'il veut continuer
System
.
out
.
print
(
"\nVoulez-vous continuer ? (oui/non) : "
);
String
choice
=
scanner
.
next
();
if
(!
choice
.
equalsIgnoreCase
(
"oui"
))
{
gameRunning
=
false
;
System
.
out
.
println
(
"Merci d'avoir joué !"
);
Logger
.
getInstance
().
log
(
hero
.
name
+
" a quitté le jeu"
);
}
}
}
// choix du héro
public
static
Hero
chooseHero
(
Scanner
scanner
)
{
...
...
src/main/java/org/example/Enemy.java
View file @
aa7b1c38
package
org
.
example
;
import
org.example.BeatThemAllGame.Logger
;
public
class
Enemy
extends
Character
{
public
Enemy
(
String
name
,
int
maxHP
,
int
attackPower
,
int
defense
,
SpecialAbility
specialAbility
)
{
...
...
src/main/java/org/example/Hero.java
View file @
aa7b1c38
...
...
@@ -4,8 +4,6 @@ import java.util.ArrayList;
import
java.util.List
;
import
java.util.Scanner
;
import
org.example.BeatThemAllGame.Item
;
import
org.example.BeatThemAllGame.Logger
;
// Classe pour le héros
public
class
Hero
extends
Character
{
...
...
src/main/java/org/example/Item.java
0 → 100644
View file @
aa7b1c38
package
org
.
example
;
public
interface
Item
{
void
applyEffect
(
Hero
hero
);
String
getName
();
}
src/main/java/org/example/Logger.java
0 → 100644
View file @
aa7b1c38
package
org
.
example
;
import
java.io.FileWriter
;
import
java.io.IOException
;
import
java.time.LocalDateTime
;
public
class
Logger
{
private
static
Logger
instance
;
private
FileWriter
writer
;
private
Logger
()
{
try
{
writer
=
new
FileWriter
(
"game_log.txt"
,
true
);
}
catch
(
IOException
e
)
{
System
.
out
.
println
(
"Erreur lors de l'initialisation du logger : "
+
e
.
getMessage
());
}
}
public
static
Logger
getInstance
()
{
if
(
instance
==
null
)
{
instance
=
new
Logger
();
}
return
instance
;
}
public
void
log
(
String
message
)
{
try
{
String
timestamp
=
"["
+
LocalDateTime
.
now
()
+
"] "
;
writer
.
write
(
timestamp
+
message
+
"\n"
);
writer
.
flush
();
}
catch
(
IOException
e
)
{
System
.
out
.
println
(
"Erreur lors de l'écriture dans le fichier de log : "
+
e
.
getMessage
());
}
}
}
src/main/java/org/example/Main.java
0 → 100644
View file @
aa7b1c38
package
org
.
example
;
import
java.util.Random
;
import
java.util.Scanner
;
import
static
org
.
example
.
BeatThemAllGame
.
battle
;
import
static
org
.
example
.
BeatThemAllGame
.
chooseHero
;
import
static
org
.
example
.
BeatThemAllGame
.
displayGameOver
;
import
static
org
.
example
.
BeatThemAllGame
.
displayTitle
;
import
static
org
.
example
.
BeatThemAllGame
.
generateRandomEnemy
;
import
static
org
.
example
.
BeatThemAllGame
.
getRandomItem
;
public
class
Main
{
public
void
main
(
String
[]
args
)
{
Scanner
scanner
=
new
Scanner
(
System
.
in
);
displayTitle
();
Hero
hero
=
chooseHero
(
scanner
);
System
.
out
.
println
();
System
.
out
.
println
(
"Votre aventure commence !"
);
Logger
.
getInstance
().
log
(
"Début de l'aventure de "
+
hero
.
name
);
boolean
gameRunning
=
true
;
while
(
gameRunning
&&
hero
.
isAlive
())
{
Enemy
enemy
=
generateRandomEnemy
();
System
.
out
.
println
(
"\nUn "
+
enemy
.
name
+
" apparaît !"
);
Logger
.
getInstance
().
log
(
hero
.
name
+
" rencontre un "
+
enemy
.
name
);
battle
(
scanner
,
hero
,
enemy
);
if
(!
hero
.
isAlive
())
{
displayGameOver
();
Logger
.
getInstance
().
log
(
hero
.
name
+
" est mort"
);
break
;
}
hero
.
resetSpecialAbility
();
hero
.
gainExperience
(
50
);
// Chance de trouver un objet après le combat
if
(
new
Random
().
nextInt
(
100
)
<
50
)
{
Item
foundItem
=
getRandomItem
();
System
.
out
.
println
(
"Vous trouvez un objet sur l'ennemi !"
);
hero
.
addItem
(
foundItem
);
}
// Demander au joueur s'il veut continuer
System
.
out
.
print
(
"\nVoulez-vous continuer ? (oui/non) : "
);
String
choice
=
scanner
.
next
();
if
(!
choice
.
equalsIgnoreCase
(
"oui"
))
{
gameRunning
=
false
;
System
.
out
.
println
(
"Merci d'avoir joué !"
);
Logger
.
getInstance
().
log
(
hero
.
name
+
" a quitté le jeu"
);
}
}
}
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment