Nantes Université
Skip to content
GitLab
Explorer
Connexion
S'inscrire
Navigation principale
Rechercher ou aller à…
Projet
P
POO.23.24.7
Gestion
Activité
Membres
Labels
Programmation
Tickets
Tableaux des tickets
Jalons
Wiki
Code
Requêtes de fusion
Dépôt
Branches
Validations
Étiquettes
Graphe du dépôt
Comparer les révisions
Extraits de code
Compilation
Pipelines
Jobs
Planifications de pipeline
Artéfacts
Déploiement
Releases
Registre de paquets
Registre de conteneurs
Registre de modèles
Opération
Environnements
Modules Terraform
Surveillance
Incidents
Service d'assistance
Analyse
Données d'analyse des chaînes de valeur
Analyse des contributeurs
Données d'analyse CI/CD
Données d'analyse du dépôt
Expériences du modèle
Aide
Aide
Support
Documentation de GitLab
Comparer les forfaits GitLab
Forum de la communauté
Contribuer à GitLab
Donner votre avis
Raccourcis clavier
?
Extraits de code
Groupes
Projets
Afficher davantage de fils d'Ariane
Pierrick LERMITE
POO.23.24.7
Validations
e3ddf1f0
Valider
e3ddf1f0
rédigé
1 year ago
par
Barbe Bryan
Parcourir les fichiers
Options
Téléchargements
Plain Diff
Merge branch 'main' of gitlab.univ-nantes.fr:E172590Y/poo.23.24.7
parents
6c6df345
74f884a4
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
Modifications
3
Masquer les modifications d'espaces
En ligne
Côte à côte
Affichage de
3 fichiers modifiés
src/App/GamePanel.java
+11
-5
11 ajouts, 5 suppressions
src/App/GamePanel.java
src/App/Ground.java
+41
-4
41 ajouts, 4 suppressions
src/App/Ground.java
src/App/Player.java
+14
-0
14 ajouts, 0 suppression
src/App/Player.java
avec
66 ajouts
et
9 suppressions
src/App/GamePanel.java
+
11
−
5
Voir le fichier @
e3ddf1f0
...
...
@@ -82,23 +82,29 @@ public class GamePanel extends JPanel implements Runnable{
}
public
void
update
(){
int
dx
=
0
;
//Changement en x
int
dy
=
0
;
//Changement en y
//On enregistre les changements en x et y
if
(
keyH
.
upPressed
==
true
&&
!
game
.
collisionTestBLock
(
game
.
getPlayerFromList
(
0
),
0
,-
game
.
getPlayerFromList
(
0
).
getSpeed
())){
game
.
addYPlayers
(
0
,
-
game
.
getPlayerFromList
(
0
).
getSpeed
()
)
;
dy
=
-
game
.
getPlayerFromList
(
0
).
getSpeed
();
}
if
(
keyH
.
downPressed
==
true
&&
!
game
.
collisionTestBLock
(
game
.
getPlayerFromList
(
0
),
0
,
game
.
getPlayerFromList
(
0
).
getSpeed
())){
game
.
addYPlayers
(
0
,
game
.
getPlayerFromList
(
0
).
getSpeed
()
)
;
dy
=
game
.
getPlayerFromList
(
0
).
getSpeed
();
}
if
(
keyH
.
rightPressed
==
true
&&
!
game
.
collisionTestBLock
(
game
.
getPlayerFromList
(
0
),
game
.
getPlayerFromList
(
0
).
getSpeed
()
,
0
)){
game
.
addXPlayers
(
0
,
game
.
getPlayerFromList
(
0
).
getSpeed
()
)
;
dx
=
game
.
getPlayerFromList
(
0
).
getSpeed
();
}
if
(
keyH
.
leftPressed
==
true
&&
!
game
.
collisionTestBLock
(
game
.
getPlayerFromList
(
0
),-
game
.
getPlayerFromList
(
0
).
getSpeed
()
,
0
)){
game
.
addXPlayers
(
0
,
-
game
.
getPlayerFromList
(
0
).
getSpeed
()
)
;
dx
=
-
game
.
getPlayerFromList
(
0
).
getSpeed
();
}
//System.out.println(game.getPlayerFromList(0).getGridX() + " " + game.getPlayerFromList(0).getGridY());
//On ajoute les changements
game
.
addXPlayers
(
0
,
dx
);
game
.
addYPlayers
(
0
,
dy
);
//
if
(
keyH
.
enterPressed
==
true
&&
game
.
getPlayerFromList
(
0
).
getBombPlaced
()
<
game
.
getPlayerFromList
(
0
).
getBombLimit
()){
...
...
Ce diff est replié.
Cliquez pour l'agrandir.
src/App/Ground.java
+
41
−
4
Voir le fichier @
e3ddf1f0
...
...
@@ -11,9 +11,12 @@ public class Ground {
private
ArrayList
<
Player
>
players
;
private
Item
[][]
gridItem
;
//Constructeur de la classe Ground
public
Ground
(
int
nbx
,
int
nby
){
//Initialisation des variables membres avec les valeurs passées en paramètres
this
.
nbx
=
nbx
;
this
.
nby
=
nby
;
//Initialisation des listes et matrices
this
.
grid
=
new
Block
[
nbx
][
nby
];
players
=
new
ArrayList
<
Player
>();
players
.
add
(
new
Player
(
75
,
75
,
"player1"
));
...
...
@@ -22,10 +25,13 @@ public class Ground {
this
.
gridItem
=
new
Item
[
nbx
][
nby
];
}
// Méthode pour initialiser un nouveau terrain
public
void
newGround
(){
// Parcours de la matrice de blocs pour définir les types de blocs
for
(
int
j
=
0
;
j
<
nby
;
j
++){
for
(
int
i
=
0
;
i
<
nbx
;
i
++){
// Condition pour définir le type de bloc en fonction de la position
// sur le terrain (bordure extérieure, terrain intérieur, bloc cassable, vide)
if
(
i
==
0
||
i
==
nbx
-
1
||
j
==
0
||
j
==
nby
-
1
){
//Frontière exterieur
grid
[
i
][
j
]
=
new
ImbreakableBlock
();
...
...
@@ -53,6 +59,7 @@ public class Ground {
}
}
// Méthode pour tester la collision d'un joueur avec un bloc
public
boolean
collisionTestBLock
(
Player
p
,
int
dx
,
int
dy
){
int
boxsizeplayer
=
34
;
int
pX
=
p
.
getX
();
...
...
@@ -91,46 +98,57 @@ public class Ground {
return
false
;
}
//Teste si un item est touché par un joueur alors l'effet de l'item est affecté au joueur
public
void
testItemCollision
(){
// Parcours de la liste des joueurs
for
(
int
k
=
0
;
k
<=
players
.
size
();
k
++){
int
i
=
players
.
get
(
k
).
getGridX
();
int
j
=
players
.
get
(
k
).
getGridY
();
// Vérification si un item est présent à la position du joueur
if
(
gridItem
[
i
][
j
]
!=
null
){
// Application de l'effet de l'item au joueur et suppression de l'item
gridItem
[
i
][
j
].
addEffectTo
(
players
.
get
(
k
));
gridItem
[
i
][
j
]
=
null
;
}
}
}
//Retourne le nombre de colonne de la grille
public
int
getnbX
(){
return
nbx
;
}
//Retourne le nombre de ligne de la grille
public
int
getnbY
(){
return
nby
;
}
//Retourne la grille de bloc
public
Block
[][]
getGrid
(){
return
grid
;
}
//Retourne la grille d'item
public
Item
[][]
getGridItem
(){
return
gridItem
;
}
//Retourne le player à l'indice k dans la liste de joueurs
public
Player
getPlayerFromList
(
int
k
){
return
players
.
get
(
k
);
}
//Ajoute un entier dx à la position en x du jouer à la position k dans la liste de player
public
void
addXPlayers
(
int
k
,
int
dx
){
players
.
get
(
k
).
addX
(
dx
);
}
//Ajoute un entier dy à la position en y du jouer à la position k dans la liste de player
public
void
addYPlayers
(
int
k
,
int
dy
){
players
.
get
(
k
).
addY
(
dy
);
}
//Ajoute un item dans la grille d'item
public
void
addItem
(
Item
it
,
int
i
,
int
j
){
if
(
it
instanceof
Boot
)
{
gridItem
[
i
][
j
]
=
new
Boot
();
...
...
@@ -140,8 +158,27 @@ public class Ground {
}
}
//Ajoute une bombe dans la liste de bombes
public
void
addBomb
(
Player
p
){
System
.
out
.
println
(
"bomb"
);
bombs
.
add
(
p
.
placeBomb
(
this
));
//Vérifie si il y a déja une bombe dans l'emplacement
boolean
test
=
true
;
for
(
i
=
0
;
i
<=
bombs
.
size
();
i
++){
if
(
bombs
[
i
].
x
==
p
.
getGridX
&&
bombs
[
i
].
y
==
p
.
getGridY
){
test
=
false
;
}
}
//Si pas de bombe dans l'emplacement ajoute une bombe
if
(
test
){
bombs
.
add
(
p
.
placeBomb
());
System
.
out
.
println
(
"Bomb has been planted"
);
}
}
//Détruis un bloc de la liste de bloc de ground
public
void
destructBlock
(
int
i
,
int
j
){
if
(
i
<
this
.
nbx
;
j
<
this
.
nby
){
grid
[
i
][
j
]
=
new
VoidBlock
();
}
}
}
Ce diff est replié.
Cliquez pour l'agrandir.
src/App/Player.java
+
14
−
0
Voir le fichier @
e3ddf1f0
package
App
;
import
App.Bomb.*
;
public
class
Player
{
private
int
x
;
private
int
y
;
...
...
@@ -93,4 +94,17 @@ public class Player {
public
void
decreseadBomb
(){
bombPlaced
--;
}
public
void
getDamage
(
int
damage
){
if
(
life
-
damage
<=
0
){
life
=
0
;
}
else
{
life
-=
damage
;
}
}
public
boolean
isDead
(){
return
(
life
==
0
);
}
}
Ce diff est replié.
Cliquez pour l'agrandir.
Aperçu
0%
Chargement en cours
Veuillez réessayer
ou
joindre un nouveau fichier
.
Annuler
You are about to add
0
people
to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Enregistrer le commentaire
Annuler
Veuillez vous
inscrire
ou vous
se connecter
pour commenter