Skip to content
Snippets Groups Projects
Commit 41ea877b authored by unknown's avatar unknown
Browse files
parents df9d836e fc02c9b6
No related branches found
No related tags found
No related merge requests found
Pipeline #
<?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>
......@@ -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 lettres.
* \return Un pointeur sur une tableau de cartes.
*/
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;
}
......@@ -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
......@@ -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_ANCIENNE_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]);
......
......@@ -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érer 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;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment