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
c7b2d137
Commit
c7b2d137
authored
Dec 03, 2024
by
Guillaume Dewisme
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
refctor
parent
e354de28
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
142 additions
and
102 deletions
+142
-102
game_log.txt
game_log.txt
+30
-0
BeatThemAllGame.java
src/main/java/org/example/BeatThemAllGame.java
+3
-99
DoubleAttack.java
src/main/java/org/example/DoubleAttack.java
+1
-3
Enemy.java
src/main/java/org/example/Enemy.java
+18
-0
Hero.java
src/main/java/org/example/Hero.java
+90
-0
No files found.
game_log.txt
0 → 100644
View file @
c7b2d137
[2024-12-03T09:17:07.884981500] Dbut de l'aventure de h
[2024-12-03T09:17:07.906537700] h rencontre un Brigand
[2024-12-03T09:17:21.500167] h attaque Brigand
[2024-12-03T09:17:21.512164700] Brigand attaque h
[2024-12-03T09:17:23.712354200] h attaque Brigand
[2024-12-03T09:17:23.713356400] Brigand attaque h
[2024-12-03T09:17:24.664972400] h attaque Brigand
[2024-12-03T09:17:24.665972400] Brigand attaque h
[2024-12-03T09:17:25.869365600] h attaque Brigand
[2024-12-03T09:17:25.869885200] Brigand attaque h
[2024-12-03T09:17:26.435083] h attaque Brigand
[2024-12-03T09:17:26.436082400] h a vaincu Brigand
[2024-12-03T09:17:26.441081700] h gagne 50 XP
[2024-12-03T09:17:28.848642800] h rencontre un Brigand
[2024-12-03T09:17:29.959866400] h attaque Brigand
[2024-12-03T09:17:29.960866500] Brigand attaque h
[2024-12-03T09:17:30.439687200] h attaque Brigand
[2024-12-03T09:17:30.440686600] Brigand attaque h
[2024-12-03T09:17:30.896292400] h attaque Brigand
[2024-12-03T09:17:30.897292100] Brigand attaque h
[2024-12-03T09:17:31.383727800] h attaque Brigand
[2024-12-03T09:17:31.386729400] Brigand attaque h
[2024-12-03T09:19:22.975976800] h attaque Brigand
[2024-12-03T09:19:22.975976800] h a vaincu Brigand
[2024-12-03T09:19:22.976975700] h gagne 50 XP
[2024-12-03T09:19:22.976975700] h monte au niveau 2
[2024-12-03T09:19:22.978978400] h a obtenu un objet : Potion de Puissance
[2024-12-03T09:19:23.567938600] h a quitt le jeu
[2024-12-03T09:26:44.170530700] Dbut de l'aventure de h
[2024-12-03T09:26:44.191598800] h rencontre un Catcheur
src/main/java/org/example/BeatThemAllGame.java
View file @
c7b2d137
...
...
@@ -2,6 +2,7 @@ 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
;
...
...
@@ -41,104 +42,6 @@ public class BeatThemAllGame {
}
}
// Classe pour le héros
public
static
class
Hero
extends
Character
{
private
boolean
specialUsed
=
false
;
private
List
<
Item
>
inventory
=
new
ArrayList
<>();
private
int
experience
=
0
;
private
int
level
=
1
;
public
Hero
(
String
name
,
int
maxHP
,
int
attackPower
,
int
defense
,
SpecialAbility
specialAbility
)
{
super
(
name
,
maxHP
,
attackPower
,
defense
);
this
.
specialAbility
=
specialAbility
;
}
@Override
public
void
attack
(
Character
target
)
{
System
.
out
.
println
(
name
+
" attaque "
+
target
.
name
+
" !"
);
Logger
.
getInstance
().
log
(
name
+
" attaque "
+
target
.
name
);
target
.
takeDamage
(
attackPower
);
}
public
void
useSpecialAbility
(
Character
target
)
{
if
(!
specialUsed
)
{
specialAbility
.
activate
(
this
,
target
);
specialUsed
=
true
;
Logger
.
getInstance
().
log
(
name
+
" utilise sa capacité spéciale"
);
}
else
{
System
.
out
.
println
(
"Capacité spéciale déjà utilisée !"
);
}
}
public
void
resetSpecialAbility
()
{
specialUsed
=
false
;
}
public
void
addItem
(
Item
item
)
{
inventory
.
add
(
item
);
System
.
out
.
println
(
item
.
getName
()
+
" a été ajouté à votre inventaire."
);
Logger
.
getInstance
().
log
(
name
+
" a obtenu un objet : "
+
item
.
getName
());
}
public
void
useItem
()
{
if
(
inventory
.
isEmpty
())
{
System
.
out
.
println
(
"Votre inventaire est vide !"
);
return
;
}
System
.
out
.
println
(
"Inventaire :"
);
for
(
int
i
=
0
;
i
<
inventory
.
size
();
i
++)
{
System
.
out
.
println
((
i
+
1
)
+
". "
+
inventory
.
get
(
i
).
getName
());
}
System
.
out
.
print
(
"Choisissez un objet à utiliser : "
);
Scanner
scanner
=
new
Scanner
(
System
.
in
);
int
choice
=
scanner
.
nextInt
();
if
(
choice
>
0
&&
choice
<=
inventory
.
size
())
{
Item
item
=
inventory
.
get
(
choice
-
1
);
item
.
applyEffect
(
this
);
inventory
.
remove
(
item
);
Logger
.
getInstance
().
log
(
name
+
" utilise un objet : "
+
item
.
getName
());
}
else
{
System
.
out
.
println
(
"Choix invalide."
);
}
}
public
void
gainExperience
(
int
xp
)
{
experience
+=
xp
;
System
.
out
.
println
(
name
+
" gagne "
+
xp
+
" points d'expérience."
);
Logger
.
getInstance
().
log
(
name
+
" gagne "
+
xp
+
" XP"
);
if
(
experience
>=
level
*
100
)
{
levelUp
();
}
}
private
void
levelUp
()
{
level
++;
experience
=
0
;
maxHP
+=
20
;
attackPower
+=
5
;
defense
+=
2
;
currentHP
=
maxHP
;
System
.
out
.
println
(
name
+
" passe au niveau "
+
level
+
" !"
);
Logger
.
getInstance
().
log
(
name
+
" monte au niveau "
+
level
);
}
}
// Classe pour les ennemis
public
static
class
Enemy
extends
Character
{
public
Enemy
(
String
name
,
int
maxHP
,
int
attackPower
,
int
defense
,
SpecialAbility
specialAbility
)
{
super
(
name
,
maxHP
,
attackPower
,
defense
);
this
.
specialAbility
=
specialAbility
;
}
@Override
public
void
attack
(
Character
target
)
{
System
.
out
.
println
(
name
+
" attaque "
+
target
.
name
+
" !"
);
Logger
.
getInstance
().
log
(
name
+
" attaque "
+
target
.
name
);
target
.
takeDamage
(
attackPower
);
}
}
public
static
class
HalveEnemyHP
implements
SpecialAbility
{
@Override
public
void
activate
(
Character
user
,
Character
target
)
{
...
...
@@ -439,4 +342,5 @@ public class BeatThemAllGame {
potion
.
applyEffect
(
hero
);
assert
hero
.
currentHP
==
100
:
"La potion de santé n'a pas restauré correctement les PV du héros."
;
}
}
\ No newline at end of file
}
src/main/java/org/example/DoubleAttack.java
View file @
c7b2d137
package
org
.
example
;
import
org.example.SpecialAbility
;
// Capacités spéciales des héros
// Capacités spéciales des héros
public
class
DoubleAttack
implements
SpecialAbility
{
@Override
...
...
src/main/java/org/example/Enemy.java
0 → 100644
View file @
c7b2d137
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
)
{
super
(
name
,
maxHP
,
attackPower
,
defense
);
this
.
specialAbility
=
specialAbility
;
}
@Override
public
void
attack
(
Character
target
)
{
System
.
out
.
println
(
name
+
" attaque "
+
target
.
name
+
" !"
);
Logger
.
getInstance
().
log
(
name
+
" attaque "
+
target
.
name
);
target
.
takeDamage
(
attackPower
);
}
}
src/main/java/org/example/Hero.java
0 → 100644
View file @
c7b2d137
package
org
.
example
;
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
{
boolean
specialUsed
=
false
;
private
List
<
Item
>
inventory
=
new
ArrayList
<>();
private
int
experience
=
0
;
private
int
level
=
1
;
public
Hero
(
String
name
,
int
maxHP
,
int
attackPower
,
int
defense
,
SpecialAbility
specialAbility
)
{
super
(
name
,
maxHP
,
attackPower
,
defense
);
this
.
specialAbility
=
specialAbility
;
}
@Override
public
void
attack
(
Character
target
)
{
System
.
out
.
println
(
name
+
" attaque "
+
target
.
name
+
" !"
);
Logger
.
getInstance
().
log
(
name
+
" attaque "
+
target
.
name
);
target
.
takeDamage
(
attackPower
);
}
public
void
useSpecialAbility
(
Character
target
)
{
if
(!
specialUsed
)
{
specialAbility
.
activate
(
this
,
target
);
specialUsed
=
true
;
Logger
.
getInstance
().
log
(
name
+
" utilise sa capacité spéciale"
);
}
else
{
System
.
out
.
println
(
"Capacité spéciale déjà utilisée !"
);
}
}
public
void
resetSpecialAbility
()
{
specialUsed
=
false
;
}
public
void
addItem
(
Item
item
)
{
inventory
.
add
(
item
);
System
.
out
.
println
(
item
.
getName
()
+
" a été ajouté à votre inventaire."
);
Logger
.
getInstance
().
log
(
name
+
" a obtenu un objet : "
+
item
.
getName
());
}
public
void
useItem
()
{
if
(
inventory
.
isEmpty
())
{
System
.
out
.
println
(
"Votre inventaire est vide !"
);
return
;
}
System
.
out
.
println
(
"Inventaire :"
);
for
(
int
i
=
0
;
i
<
inventory
.
size
();
i
++)
{
System
.
out
.
println
((
i
+
1
)
+
". "
+
inventory
.
get
(
i
).
getName
());
}
System
.
out
.
print
(
"Choisissez un objet à utiliser : "
);
Scanner
scanner
=
new
Scanner
(
System
.
in
);
int
choice
=
scanner
.
nextInt
();
if
(
choice
>
0
&&
choice
<=
inventory
.
size
())
{
Item
item
=
inventory
.
get
(
choice
-
1
);
item
.
applyEffect
(
this
);
inventory
.
remove
(
item
);
Logger
.
getInstance
().
log
(
name
+
" utilise un objet : "
+
item
.
getName
());
}
else
{
System
.
out
.
println
(
"Choix invalide."
);
}
}
public
void
gainExperience
(
int
xp
)
{
experience
+=
xp
;
System
.
out
.
println
(
name
+
" gagne "
+
xp
+
" points d'expérience."
);
Logger
.
getInstance
().
log
(
name
+
" gagne "
+
xp
+
" XP"
);
if
(
experience
>=
level
*
100
)
{
levelUp
();
}
}
private
void
levelUp
()
{
level
++;
experience
=
0
;
maxHP
+=
20
;
attackPower
+=
5
;
defense
+=
2
;
currentHP
=
maxHP
;
System
.
out
.
println
(
name
+
" passe au niveau "
+
level
+
" !"
);
Logger
.
getInstance
().
log
(
name
+
" monte au niveau "
+
level
);
}
}
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