Skip to content
Snippets Groups Projects
Commit 9afffc73 authored by Romain Jegat's avatar Romain Jegat
Browse files

Amélioration du programme de lecture de cartes, début d'initialisation de...

Amélioration du programme de lecture de cartes, début d'initialisation de carte avec init_jeu (non fonctionnel)
parent 138fd9a3
No related branches found
No related tags found
No related merge requests found
Pipeline #
MAP1 10*16
MAP1 6 8
MFMMMFFPPF
PFFFFFFPPF
PFPPPFFPPF
PFPPPFFPPF
PFPPFFFPPF
PFMMMFFPPF
PFMFFFFPPF
PFMMPFFPPF
PFPPPFFPPF
PFPPFFPPFP
PFFPPFFPPF
PFFFMFFPPF
PFPMMFFPPF
PFMMMFFPPF
PFFFPFFPPF
PFPPPPFPPF
FFMMMF
FFMMMF
FFMMMF
FFMMMF
FFMMMF
FFMMMF
FFMMMF
FFMMMF
MAP2 10*16
MAP2 5 4
FFMMMFFPPF
PFFFFFFPPF
PFPPPFFPPF
PFPPPFFPPF
PFPPFFFPPF
PFMMMFFPPF
PFMFFFFPPF
PFMMPFFPPF
PFPPPFFPPF
PFPPFFPPFP
PFFPPFFPPF
PFFFMFFPPF
PFPMMFFPPF
PFMMMFFPPF
PFFFPFFPPF
PFPPPPFPPF
FFPPM
FFPPM
FFPPM
FFPPM
MAP3 10*16
MAP3 6 10
FFMMMFFPPF
PFFFFFFPPF
PFPPPFFPPF
PFPPPFFPPF
PFPPFFFPPF
PFMMMFFPPF
PFMFFFFPPF
PFMMPFFPPF
PFPPPFFPPF
PFPPFFPPFP
PFFPPFFPPF
PFFFMFFPPF
PFPMMFFPPF
PFMMMFFPPF
PFFFPFFPPF
PFPPPPFPPF
FFPFMP
FFPFMP
FFPFMP
FFPFMP
FFPFMP
FFPFMP
FFPFMP
FFPFMP
FFPFMP
FFPFMP
MAP4 10*16
MAP4 16 10
FFMMMFFPPF
PFFFFFFPPF
PFPPPFFPPF
PFPPPFFPPF
PFPPFFFPPF
PFMMMFFPPF
PFMFFFFPPF
PFMMPFFPPF
PFPPPFFPPF
PFPPFFPPFP
PFFPPFFPPF
PFFFMFFPPF
PFPMMFFPPF
PFMMMFFPPF
PFFFPFFPPF
PFPPPPFPPF
\ No newline at end of file
MPPFFPPPFM
MPPFFPPPFM
MPPFFPPPFM
MPPFFPPPFM
MPPFFPPPFM
MPPFFPPPFM
MPPFFPPPFM
MPPFFPPPFM
MPPFFPPPFM
MPPFFPPPFM
MPPFFPPPFM
MPPFFPPPFM
MPPFFPPPFM
MPPFFPPPFM
MPPFFPPPFM
MPPFFPPPFM
MAP5 16 10
MPPFFPPPFM
MPPFFPPPFM
MPPFFPPPFM
MPPFFPPPFM
MPPFFPPPFM
MPPFFPPPFM
MPPFFPPPFM
MPPFFPPPFM
MPPFFPPPFM
MPPFFPPPFM
MPPFFPPPFM
MPPFFPPPFM
MPPFFPPPFM
MPPFFPPPFM
MPPFFPPPFM
MPPFFPPPFM
\ No newline at end of file
......@@ -10,6 +10,12 @@
*/
char* ExtraireCarte(int numero)
{
return LireCarte("../resources/Maps.txt",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
......@@ -18,51 +24,58 @@
*/
char* LireCarte(const char *filename, int num)
{
char char_num_map[2],char_nb_lignes[2]="",char_nb_colonnes[2]="";
int num_map = 0, nb_lignes = 0, nb_colonnes = 0, i=0, j=0, k=0;
char char_num_map[1],char_nb_lignes[2]="",char_nb_colonnes[2]="";
char char_actuel;
int num_map = 0, nb_lignes = 0, nb_colonnes = 0, i=0, j=0, k=0, taille_Tableau = 0;
FILE* file_map = NULL;
file_map = fopen(filename, "r");
fseek(file_map, 3, SEEK_SET);
(fgets(char_num_map,3,file_map));
num_map = atoi(char_num_map);
(fgets(char_nb_lignes,3,file_map));
nb_lignes = atoi(char_nb_lignes);
fseek(file_map, 1, SEEK_CUR);
(fgets(char_nb_colonnes,3,file_map));
nb_colonnes = atoi(char_nb_colonnes);
while(num_map < num)
fscanf(file_map,"%d %d %d", &num_map, &nb_lignes, &nb_colonnes); /*! Lecture du nom et de la taille de la premiere map */
fgetc(file_map);
fgetc(file_map);
while(num_map < num) /*! Descend jusqu' la prochaine map */
{
for(k=0; k<nb_colonnes+4; k++) /*! Descend jusqu' la prochaine map */
for(k=0; k<nb_colonnes; k++) /*! Descend jusqu' la prochaine map */
{
fseek(file_map,nb_lignes,SEEK_CUR);
fseek(file_map,nb_lignes+2,SEEK_CUR);
}
fgetc(file_map);
fgetc(file_map);
fseek(file_map, 3, SEEK_CUR);
(fgets(char_num_map,3,file_map));
num_map = atoi(char_num_map);
(fgets(char_nb_lignes,3,file_map));
nb_lignes = atoi(char_nb_lignes);
fseek(file_map, 1, SEEK_CUR);
(fgets(char_nb_colonnes,3,file_map));
nb_colonnes = atoi(char_nb_colonnes);
}
fseek(file_map, 4, SEEK_CUR);
fscanf(file_map,"%d %d %d", &num_map, &nb_lignes, &nb_colonnes); /*! Lecture du nom et de la taille de la map */
fgetc(file_map);
fgetc(file_map);
}
char * TableauCarte = NULL;
TableauCarte = malloc(nb_colonnes * nb_lignes * sizeof(char));
taille_Tableau = nb_colonnes*nb_lignes*sizeof(char);
TableauCarte = malloc(taille_Tableau);
for(i=0; i<nb_colonnes; i++)
{
for(j=0; j<=nb_lignes; j++)
for(j=0; j<nb_lignes; j++)
{
TableauCarte[nb_lignes*i+j]=fgetc(file_map);
char_actuel = fgetc(file_map);
TableauCarte[nb_lignes*i+j] = char_actuel;
}
fgetc(file_map);
}
/* Test Tableau
for(j=0; j<nb_lignes*nb_colonnes; j++)
{
printf("La valeur %d du tableau vaut : %c\n",j,TableauCarte[j]);
}
fclose(file_map);
*/
return TableauCarte;
}
......@@ -3,6 +3,8 @@
* \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
......
......@@ -10,7 +10,6 @@
int init_jeu(const char *filename){ /* cre les diffrents types de terrains, de classes et d'attaques en lisant dans un fichier */
FILE *fichier_init;
fichier_init=fopen(filename,"r");
if (!fichier_init==NULL)
{
......@@ -45,6 +44,15 @@ int init_jeu(const char *filename){ /* cr
strcat(fichier_text, fichier_temp);
Librairie_Terrains(fichier_text);
}
if(strcmp(nom,"Cartes")==0)
{
char fichier_text[50];
char fichier_temp[50];
strcpy(fichier_text,"../resources/");
strcpy(fichier_temp,roxml_get_content(roxml_get_attr(config_actuelle, "fichier", 0), NULL, 0, NULL));
strcat(fichier_text, fichier_temp);
char *Map_B = ExtraireCarte(2);
}
if(strcmp(nom,"Competences")==0)
{
/* Initialisation des comptences venir */
......@@ -58,7 +66,7 @@ int init_jeu(const char *filename){ /* cr
fprintf(stderr,"Erreur dans l'ouverture du fichier");
return 1;
}
return 0;
}
......@@ -67,13 +75,15 @@ int init_jeu(const char *filename){ /* cr
int main()
{
init_jeu("../resources/Init_jeu.xml");
main_SDL();
char *Map_A = ExtraireCarte(4);
//printf("La case choisie est : %c\n",LireCarte("../resources/Maps.txt",3)[10]);
printf("La valeur choisie est : %c\n", Map_A[0]);
main_SDL();
......
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