Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
L
lemeilleurjeudumonde
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
tacticalrpg
lemeilleurjeudumonde
Commits
03b3e8d4
There was a problem fetching the pipeline summary.
Commit
03b3e8d4
authored
8 years ago
by
Montjoie Henri
Browse files
Options
Downloads
Plain Diff
merge
parents
6759ff12
6586b556
No related branches found
No related tags found
No related merge requests found
Pipeline
#
Changes
4
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
src/controleur.c
+92
-3
92 additions, 3 deletions
src/controleur.c
src/controleur.h
+11
-0
11 additions, 0 deletions
src/controleur.h
src/joueur.h
+1
-0
1 addition, 0 deletions
src/joueur.h
src/partie.c
+1
-0
1 addition, 0 deletions
src/partie.c
with
105 additions
and
3 deletions
src/controleur.c
+
92
−
3
View file @
03b3e8d4
...
...
@@ -384,7 +384,7 @@ char * obtenirRessourcePersonnage(int x, int y){
}
}
}
//recherche du Personnage sur la case pour le
premier
Joueur.
//recherche du Personnage sur la case pour le
second
Joueur.
nextJoueur
(
getListJoueur
(
partieGlobale
));
for
(
i
=
0
;
i
<
TAILLE_MAX_GROUPE
;
i
++
){
if
(
get_x
(
getPosition
(
getPersonnage
(
getCurrentJoueur
(
getListJoueur
(
partieGlobale
)),
i
)))
==
x
){
...
...
@@ -396,14 +396,90 @@ char * obtenirRessourcePersonnage(int x, int y){
}
}
//Si aucun personnage trouvé.
setOnJoueur
(
getListJoueur
(
partieGlobale
),
actuel
);
return
NULL
;
}
}
/*!
* \fn Personnage * trouverPersonnage(Case * c)
* \brief La fonction renvoie un pointeur vers le personnage présent sur la case en parrammetre.
*
* \param Les coordonnées de la Case à tester
* \return Un pointeur vers un personnage, NULL, s'il n'y a pas de personnage sur la case.
*/
Personnage
*
trouverPersonnage
(
Case
*
c
){
int
i
;
Personnage
*
resultat
;
resultat
=
NULL
;
Joueur
*
actuel
=
NULL
;
actuel
=
getCurrentJoueur
(
getListJoueur
(
partieGlobale
));
if
(
!
est_occupee
(
c
)){
return
resultat
;
}
setOnFirstJoueur
(
getListJoueur
(
partieGlobale
));
for
(
i
=
0
;
i
<
TAILLE_MAX_GROUPE
;
i
++
){
if
(
c
==
getPosition
(
getPersonnage
(
getCurrentJoueur
(
getListJoueur
(
partieGlobale
)),
i
))){
resultat
=
getPersonnage
(
getCurrentJoueur
(
getListJoueur
(
partieGlobale
)),
i
);
setOnJoueur
(
getListJoueur
(
partieGlobale
),
actuel
);
return
resultat
;
}
}
nextJoueur
(
getListJoueur
(
partieGlobale
));
for
(
i
=
0
;
i
<
TAILLE_MAX_GROUPE
;
i
++
){
if
(
c
==
getPosition
(
getPersonnage
(
getCurrentJoueur
(
getListJoueur
(
partieGlobale
)),
i
))){
resultat
=
getPersonnage
(
getCurrentJoueur
(
getListJoueur
(
partieGlobale
)),
i
);
setOnJoueur
(
getListJoueur
(
partieGlobale
),
actuel
);
return
resultat
;
}
}
setOnJoueur
(
getListJoueur
(
partieGlobale
),
actuel
);
return
NULL
;
}
/*!
* \fn char * obtenirNomClassePersonnage(int numero)
* \brief La fonction renvoie le nom de la classe du Personnage en parrametre.
* Le numero correspond au placement du personnage tel qu'il est définit dans la sdl et va de 1 à 6 :
* Exemples : Le Personnage 0 du joueur 2 dans le moteur correspond au numero 4 pour la sdl.
* Le Personnage 1 du joueur 1 dans le moteur correspond au numero 2 pour la sdl.
*
* \param Le numero du personnage pour la SDL.
* \return Un char * vers le nom de la classe du Personnage.
*/
char
*
obtenirNomClassePersonnage
(
int
numero
){
Joueur
*
actuel
=
NULL
;
actuel
=
getCurrentJoueur
(
getListJoueur
(
partieGlobale
));
char
*
nomClasse
;
nomClasse
=
malloc
(
TAILLE_NOMS
*
sizeof
(
char
));
if
((
numero
>
0
)
&&
(
numero
<=
3
)){
setOnFirstJoueur
(
getListJoueur
(
partieGlobale
));
nomClasse
=
getNomClasse
(
getClasse
(
getPersonnage
(
getCurrentJoueur
(
getListJoueur
(
partieGlobale
)),
numero
-
1
)));
setOnJoueur
(
getListJoueur
(
partieGlobale
),
actuel
);
return
nomClasse
;
}
else
if
((
numero
>
3
)
&&
(
numero
<=
6
)){
setOnFirstJoueur
(
getListJoueur
(
partieGlobale
));
nextJoueur
(
getListJoueur
(
partieGlobale
));
nomClasse
=
getNomClasse
(
getClasse
(
getPersonnage
(
getCurrentJoueur
(
getListJoueur
(
partieGlobale
)),
numero
-
4
)));
setOnJoueur
(
getListJoueur
(
partieGlobale
),
actuel
);
return
nomClasse
;
}
}
int
obtenirPVPersonnage
(
int
numero
);
int
obtenirPVMaxPersonnage
(
int
numero
);
int
obtenirManaPersonnage
(
int
numero
);
int
obtenirManaMaxPersonnage
(
int
numero
);
int
obtenirPDPersonnage
(
int
numero
);
int
obtenirPDMaxPersonnage
(
int
numero
);
char
**
obtenirNomsAttaquesPersonnage
(
int
numero
);
// Je met ici mes tests réalisés dans le main pour éviter de les réécrire si jamais il y a un problème.
// Si vous voulez tester aussi, à recopier dans le main avant l'appel à initJeu().
void
testControlleurConsole
(){
int
i
,
j
;
int
i
,
j
,
n
;
EtatsJeu
state
=
SAISIE_JOUEURS
;
extern
Partie
*
partieGlobale
;
extern
Game_Package
packGlobal
;
...
...
@@ -437,7 +513,20 @@ void testControlleurConsole(){
for
(
i
=
0
;
i
<
LARG_MAX_CARTE
;
i
++
){
for
(
j
=
0
;
j
<
HAUT_MAX_CARTE
;
j
++
){
printf
(
"%s : Position : %d/%d
\n
"
,
obtenirRessourcePersonnage
(
i
,
j
),
i
,
j
);
if
(
personnagePresent
(
i
,
j
)){
printf
(
"Position : %d/%d
\n
%s
\n
"
,
i
,
j
,
obtenirRessourcePersonnage
(
i
,
j
));
/* Attention pour ce qui suit: l'acces aux informations sera moins "compliqué" hors des tests
car la SDL "connait" le numero quelle a attribuée aux personnages.
Ici, c'était une manière de simuler l'acces aux données mais depuis le moteur.
*/
if
((
appartientJoueur
(
trouverPersonnage
(
getCase
(
getCarte
(
partieGlobale
),
i
,
j
)),
partieGlobale
))
==
(
getListJoueur
(
partieGlobale
)
->
firstNodeJoueur
->
j
)){
n
=
1
+
getIndicePersonnage
((
getListJoueur
(
partieGlobale
)
->
firstNodeJoueur
->
j
),
trouverPersonnage
(
getCase
(
getCarte
(
partieGlobale
),
i
,
j
)));
}
else
{
n
=
4
+
getIndicePersonnage
((
getListJoueur
(
partieGlobale
)
->
lastNodeJoueur
->
j
),
trouverPersonnage
(
getCase
(
getCarte
(
partieGlobale
),
i
,
j
)));
}
printf
(
"%s
\n
"
,
obtenirNomClassePersonnage
(
n
));
}
}
}
...
...
This diff is collapsed.
Click to expand it.
src/controleur.h
+
11
−
0
View file @
03b3e8d4
...
...
@@ -37,6 +37,17 @@ char * ObtenirRessourceTerrain(int x, int y);
int
personnagePresent
(
int
x
,
int
y
);
char
*
obtenirRessourcePersonnage
(
int
x
,
int
y
);
Personnage
*
trouverPersonnage
(
Case
*
c
);
char
*
obtenirNomClassePersonnage
(
int
numero
);
int
obtenirPVPersonnage
(
int
numero
);
int
obtenirPVMaxPersonnage
(
int
numero
);
int
obtenirManaPersonnage
(
int
numero
);
int
obtenirManaMaxPersonnage
(
int
numero
);
int
obtenirPDPersonnage
(
int
numero
);
int
obtenirPDMaxPersonnage
(
int
numero
);
char
**
obtenirNomsAttaquesPersonnage
(
int
numero
);
void
testControlleurConsole
();
#endif // CONTROLEUR_H
This diff is collapsed.
Click to expand it.
src/joueur.h
+
1
−
0
View file @
03b3e8d4
...
...
@@ -15,6 +15,7 @@ char * getNomJoueur(Joueur * j);
void
setNomJoueur
(
Joueur
*
j
,
char
*
nom
);
Personnage
*
getPersonnage
(
Joueur
*
j
,
int
i
);
int
getIndicePersonnage
(
Joueur
*
j
,
Personnage
*
p
);
int
addPersonnage
(
Joueur
*
j
,
Personnage
*
p
,
int
i
);
int
isInGroupe
(
Joueur
*
j
,
Personnage
*
p
);
int
removePersonnage
(
Joueur
*
j
,
Personnage
*
p
);
...
...
This diff is collapsed.
Click to expand it.
src/partie.c
+
1
−
0
View file @
03b3e8d4
...
...
@@ -10,6 +10,7 @@
#include
"joueurList.h"
#include
"joueur.h"
#include
"case.h"
#include
"personnage.h"
/*!
* \fn Partie * initPartie()
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment