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
41ea877b
There was a problem fetching the pipeline summary.
Commit
41ea877b
authored
8 years ago
by
unknown
Browse files
Options
Downloads
Plain Diff
Merge
https://gitlab.insa-rennes.fr/tacticalrpg/lemeilleurjeudumonde
# Conflicts: # src/main.c
parents
df9d836e
fc02c9b6
No related branches found
Branches containing commit
No related tags found
No related merge requests found
Pipeline
#
Changes
5
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
resources/Maps.xml
+61
-0
61 additions, 0 deletions
resources/Maps.xml
src/carte.c
+78
-8
78 additions, 8 deletions
src/carte.c
src/carte.h
+6
-4
6 additions, 4 deletions
src/carte.h
src/main.c
+11
-3
11 additions, 3 deletions
src/main.c
src/structures.h
+18
-8
18 additions, 8 deletions
src/structures.h
with
174 additions
and
23 deletions
resources/Maps.xml
0 → 100644
+
61
−
0
View file @
41ea877b
<?xml version="1.0" encoding="UTF-8"?>
<Maps>
<Map
id=
"MAP_1"
name=
"Comté de la sieste"
desc=
"Cette map est so-mmeil"
taille_lignes=
"10"
>
<Line>
MFPPRRPPFM
</Line>
<Line>
MFPPRRPPFM
</Line>
<Line>
MFPPRRPPFM
</Line>
<Line>
MFPPRRPPFM
</Line>
<Line>
MFPPRRPPFM
</Line>
<Line>
MFPPRRPPFM
</Line>
<Line>
MFPPRRPPFM
</Line>
<Line>
MFPPRRPPFM
</Line>
<Line>
MFPPRRPPFM
</Line>
<Line>
MFPPRRPPFM
</Line>
<Line>
MFPPRRPPFM
</Line>
<Line>
MFPPRRPPFM
</Line>
<Line>
MFPPRRPPFM
</Line>
<Line>
MFPPRRPPFM
</Line>
<Line>
MFPPRRPPFM
</Line>
<Line>
MFPPRRPPFM
</Line>
</Map>
<Map
id=
"MAP_2"
name=
"Chasse au trésor"
desc=
"Une map pour 2 joueurs qui rend fou !! "
taille_lignes=
"10"
>
<Line>
MFPPRRPPFM
</Line>
<Line>
MFPPRRPPFM
</Line>
<Line>
MFPPRRPPFM
</Line>
<Line>
MFPPRRPPFM
</Line>
<Line>
MFPPRRPPFM
</Line>
<Line>
MFPPRRPPFM
</Line>
<Line>
MFPPRRPPFM
</Line>
<Line>
MFPPRRPPFM
</Line>
<Line>
MFPPRRPPFM
</Line>
<Line>
MFPPRRPPFM
</Line>
<Line>
MFPPRRPPFM
</Line>
<Line>
MFPPRRPPFM
</Line>
<Line>
MFPPRRPPFM
</Line>
<Line>
MFPPRRPPFM
</Line>
<Line>
MFPPRRPPFM
</Line>
<Line>
MFPPRRPPFM
</Line>
</Map>
<Map
id=
"MAP_3"
name=
"Chasse au trésor"
desc=
"Une map pour 2 joueurs qui rend fou !! "
taille_lignes=
"10"
>
<Line>
MFPPRRPPFM
</Line>
<Line>
MFPPRRPPFM
</Line>
<Line>
MFPPRRPPFM
</Line>
<Line>
MFPPRRPPFM
</Line>
<Line>
MFPPRRPPFM
</Line>
<Line>
MFPPRRPPFM
</Line>
<Line>
MFPPRRPPFM
</Line>
<Line>
MFPPRRPPFM
</Line>
<Line>
MFPPRRPPFM
</Line>
<Line>
MFPPRRPPFM
</Line>
<Line>
MFPPRRPPFM
</Line>
<Line>
MFPPRRPPFM
</Line>
<Line>
MFPPRRPPFM
</Line>
<Line>
MFPPRRPPFM
</Line>
<Line>
MFPPRRPPFM
</Line>
<Line>
MFPPRRPPFM
</Line>
</Map>
</Maps>
This diff is collapsed.
Click to expand it.
src/carte.c
+
78
−
8
View file @
41ea877b
...
...
@@ -2,6 +2,8 @@
#include
<stdlib.h>
#include
<string.h>
#include
"carte.h"
#include
"structures.h"
#include
<roxml.h>
/*!
...
...
@@ -20,7 +22,7 @@ char* ExtraireCarte(int numero)
* \fn Carte* LireCarte(int num)
* \brief La fonction recupere la n-ieme carte dans un fichier et renvoie un pointeur sur la carte cree
*
* \return Un pointeur sur une tableau de
lettr
es.
* \return Un pointeur sur une tableau de
cart
es.
*/
char
*
LireCarte
(
const
char
*
filename
,
int
num
)
{
...
...
@@ -64,17 +66,85 @@ char* LireCarte(const char *filename, int num)
fgetc
(
file_map
);
}
/* Test Tableau
/* Test Tableau
for(j=0; j<nb_lignes*nb_colonnes; j++)
{
printf("La valeur %d du tableau vaut : %c\n",j,TableauCarte[j]);
}
for(j=0; j<nb_lignes*nb_colonnes; j++)
{
printf("La valeur %d du tableau vaut : %c\n",j,TableauCarte[j]);
}
fclose(file_map);
*/
fclose(file_map);
*/
return
TableauCarte
;
}
Carte_A
*
ExtraireCartesXML
(
const
char
*
filename
)
{
node_t
*
rootXML
,
*
Maps
;
int
nb_Maps
=
0
,
i
=
0
;
rootXML
=
roxml_load_doc
(
filename
);
Maps
=
roxml_get_chld
(
rootXML
,
NULL
,
0
);
nb_Maps
=
roxml_get_chld_nb
(
Maps
);
//printf("Il y a %d maps\n", nb_Maps);
Carte_A
*
Tableau_Cartes
=
malloc
(
nb_Maps
*
sizeof
(
Carte_A
));
/*-------------------------------------------------------------------------------------------------------------------*/
/* Aquisition des cartes */
/*-------------------------------------------------------------------------------------------------------------------*/
for
(
i
=
0
;
i
<
nb_Maps
;
i
++
)
{
int
j
=
0
,
nb_lignes
=
0
,
taille_lignes
=
0
;
char
*
id_text
,
*
name_text
,
*
desc_text
,
*
lignes_text
;
node_t
*
Map_Actuelle
;
Map_Actuelle
=
roxml_get_chld
(
Maps
,
NULL
,
i
);
id_text
=
roxml_get_content
(
roxml_get_attr
(
Map_Actuelle
,
"id"
,
0
),
NULL
,
0
,
NULL
);
name_text
=
roxml_get_content
(
roxml_get_attr
(
Map_Actuelle
,
"name"
,
0
),
NULL
,
0
,
NULL
);
desc_text
=
roxml_get_content
(
roxml_get_attr
(
Map_Actuelle
,
"desc"
,
0
),
NULL
,
0
,
NULL
);
//taille_lignes = atoi(roxml_get_content(roxml_get_attr(Map_Actuelle, "taille_lignes", 0), NULL, 0, NULL));
//printf("Les lignes font %d de long\n", taille_lignes);
//nb_lignes = roxml_get_chld_nb(Map_Actuelle);
//printf("La carte contient %d lignes\n", nb_lignes);
Carte_A
Carte_Actuelle
;
strcpy
(
Carte_Actuelle
.
id
,
id_text
);
strcpy
(
Carte_Actuelle
.
nom
,
name_text
);
strcpy
(
Carte_Actuelle
.
desc
,
desc_text
);
/*
printf("L'ID est :%s\n\n", Carte_Actuelle.id);
printf("Le nom est :%s\n\n", Carte_Actuelle.nom);
printf("La desc est :%s\n\n", Carte_Actuelle.desc);
*/
/*--------------------------------------------------------------------------------------------------------------*/
/* Aquisition des lignes de la carte */
/*--------------------------------------------------------------------------------------------------------------*/
for
(
j
=
0
;
j
<
16
/*nb_lignes*/
;
j
++
)
{
node_t
*
Ligne_Actuelle
;
Ligne_Actuelle
=
roxml_get_chld
(
Map_Actuelle
,
NULL
,
j
);
char
sequence_ligne
[
9
];
roxml_get_content
(
Ligne_Actuelle
,
sequence_ligne
,
50
,
NULL
);
//printf("Sequence_Ligne vaut : %s\n", sequence_ligne);
strcpy
(
Carte_Actuelle
.
lignes
[
j
],
sequence_ligne
);
//printf("La ligne %d vaut : %s\n",j+1, Carte_Actuelle.lignes[j]);
}
Tableau_Cartes
[
i
]
=
Carte_Actuelle
;
}
return
Tableau_Cartes
;
}
This diff is collapsed.
Click to expand it.
src/carte.h
+
6
−
4
View file @
41ea877b
...
...
@@ -3,15 +3,17 @@
* \brief Fichier contenant les signatures des fonctions liees a la structure carte.
*/
char
*
ExtraireCarte
(
int
numero
);
char
*
LireCarte
(
const
char
*
filename
,
int
num
);
#ifndef CARTE_H_INCLUDED
#define CARTE_H_INCLUDED
#include
"structures.h"
char
*
ExtraireCarte
(
int
numero
);
Carte_A
*
ExtraireCartesXML
(
const
char
*
filename
);
char
*
LireCarte
(
const
char
*
filename
,
int
num
);
#endif // CARTE_H_INCLUDED
This diff is collapsed.
Click to expand it.
src/main.c
+
11
−
3
View file @
41ea877b
...
...
@@ -95,10 +95,12 @@ Game_Package Construire_Package()
Classe
*
Classes_Pack
=
Librairie_Classes
(
"../resources/Classes.xml"
);
Terrain
*
Terrains_Pack
=
Librairie_Terrains
(
"../resources/Terrains.xml"
);
Skins_GUI
*
GUI_Pack
=
Get_Skins_GUI
(
"../resources/GUI.xml"
);
Carte_A
*
Map_Pack
=
ExtraireCartesXML
(
"../resources/Maps.xml"
);
Pack
.
Classes_Package
=
Classes_Pack
;
Pack
.
Terrains_Package
=
Terrains_Pack
;
Pack
.
GUI_Package
=
GUI_Pack
;
Pack
.
Cartes_Package
=
Map_Pack
;
return
Pack
;
}
...
...
@@ -109,17 +111,23 @@ int main()
//init_jeu("../resources/Init_jeu.xml");
char
*
Map_A
=
ExtraireCarte
(
4
);
printf
(
"Map en version texte : %s
\n
"
,
Map_A
);
char
*
Map_A
NCIENNE_VERSION
=
ExtraireCarte
(
4
);
//
printf("Map en version texte : %s\n", Map_A);
/* -------------------------------------*/
/* Creation du package : */
/* -------------------------------------*/
Game_Package
Pack_A
=
Construire_Package
();
/* -------------------------------------*/
/* Comment utiliser le package : */
/* -------------------------------------*/
printf
(
"L'attaque 1 du mage est : %s
\n
"
,
Pack_A
.
Classes_Package
[
0
].
attaques
[
2
].
nom
);
printf
(
"L'attaque 1 du mage est : %s
\n
"
,
Pack_A
.
Classes_Package
[
0
].
attaques
[
2
].
nom
);
printf
(
"Le nom du terrain 1 est : %s
\n
"
,
Pack_A
.
Terrains_Package
[
0
].
nomTerrain
);
printf
(
"L'adresse de la texture GUI 1 est : %s
\n
"
,
Pack_A
.
GUI_Package
[
0
].
GUI_default
);
printf
(
"La ligne 3 de la map 1 est : %s
\n
"
,
Pack_A
.
Cartes_Package
[
0
].
lignes
[
2
]);
...
...
This diff is collapsed.
Click to expand it.
src/structures.h
+
18
−
8
View file @
41ea877b
...
...
@@ -112,7 +112,7 @@ typedef struct Attaque{
char
nom
[
TAILLE_NOMS
];
/*!< Nom de l'attaque de taille TAILLE_NOMS*/
unsigned
short
int
mana
;
unsigned
short
int
portee
;
/*!< Portee en nombre de cases de l'attaque*/
Effet
effets
[
5
];
/*!< Tableau des effets appliques par l'attaque, cela comprend les d
égâ
ts de duree*/
Effet
effets
[
5
];
/*!< Tableau des effets appliques par l'attaque, cela comprend les d
égâts
de duree*/
}
Attaque
;
/*! \struct Classe structures.h
...
...
@@ -122,9 +122,9 @@ typedef struct Attaque{
typedef
struct
Classe
{
char
nom
[
25
];
/*!< Nom de la classe de taille TAILLE_NOMS*/
Attaque
attaques
[
5
];
/*!< Les attaques disponibles pour la classe*/
unsigned
short
int
points_deplacement_max
;
/*!< Les PD maximums accord
é
s a la classe*/
unsigned
short
int
PV_max
;
/*!< Les PV maximums accord
é
s a la classe*/
unsigned
short
int
mana_max
;
/*!< Le mana maximum accord
é
a la classe*/
unsigned
short
int
points_deplacement_max
;
/*!< Les PD maximums accord
és
a la classe*/
unsigned
short
int
PV_max
;
/*!< Les PV maximums accord
és
a la classe*/
unsigned
short
int
mana_max
;
/*!< Le mana maximum accord
é
a la classe*/
Skins_Charac
skins
;
}
Classe
;
...
...
@@ -168,6 +168,14 @@ typedef struct Effet_Competence{
}
Effet_Competence
;
typedef
struct
Carte_A
{
char
id
[
TAILLE_ID
];
char
nom
[
50
];
char
desc
[
100
];
char
lignes
[
17
][
11
];
}
Carte_A
;
/*! \struct Classe structures.h
* \brief Definition de la structure Game_Package
* sizeof(Classe) =
...
...
@@ -176,6 +184,7 @@ typedef struct Game_Package{
Classe
*
Classes_Package
;
Terrain
*
Terrains_Package
;
Skins_GUI
*
GUI_Package
;
Carte_A
*
Cartes_Package
;
}
Game_Package
;
...
...
@@ -189,7 +198,7 @@ typedef struct Game_Package{
*/
typedef
struct
Joueur
{
char
nomJoueur
[
TAILLE_NOMS
];
/*!< Le nom identifiant le Joueur*/
Personnage
*
groupe
[
TAILLE_MAX_GROUPE
];
/*!< Les personnages du joueur qui prennent part
à
la partie.*/
Personnage
*
groupe
[
TAILLE_MAX_GROUPE
];
/*!< Les personnages du joueur qui prennent part
à
la partie.*/
}
Joueur
;
/*! \struct NodeJoueur structures.h
...
...
@@ -221,12 +230,13 @@ typedef struct Game_Package{
* \brief Definition de la structure Partie
*
* Contient les informations concernant la partie telles que la liste des joueurs participants
* le nombre de tours. Cette structure permet de g
é
rer les tours
* le nombre de tours. Cette structure permet de g
ér
er les tours
* Peut eventuellement contenir l'information Carte si c'est utile.
* sizeof(Partie) = 12 octets
*/
typedef
struct
Partie
{
ListJoueur
*
participants
;
/*!< La liste de joueurs prennant parts à la partie*/
typedef
struct
Partie
{
ListJoueur
*
participants
;
/*!< La liste de joueurs prennant parts à la partie*/
int
nbTours
;
/*!<Le nombre de tours actuel*/
Carte
*
c
;
/*!<La Carte associee a la Partie*/
}
Partie
;
...
...
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