diff --git a/resources/archer.bmp b/resources/archer.bmp new file mode 100644 index 0000000000000000000000000000000000000000..511a7f2984b6b64f924d81b05f337c554fb053f9 Binary files /dev/null and b/resources/archer.bmp differ diff --git a/src/Classes_XML_log b/src/Classes_XML_log index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..e2cc38ae1170346265de3885abb6ceaff3c52f98 100644 --- a/src/Classes_XML_log +++ b/src/Classes_XML_log @@ -0,0 +1,52 @@ +Fichier decrivant le deroulement de la procedure d'aquisition des classes + +I) Chargement du fichier XML - Definition des noeuds +Le fichier contient 5 classes +II) Chargement des classes +1) Memoire allouee avec succes +La memoire allouee fait 80 octets + +Chargement de la classe numero 1 +Id : C_MAGE +Nom : Mage +PV : 100 +PM : 150 +MV : 2 +DESC : Le feu, ça brûle +Insertion de la classe 1 dans le tableau + +Chargement de la classe numero 2 +Id : C_WAR +Nom : Guerrier +PV : 200 +PM : 150 +MV : 2 +DESC : Aime beaucoup le street art +Insertion de la classe 2 dans le tableau + +Chargement de la classe numero 3 +Id : C_HEAL +Nom : Guerrisseur +PV : 100 +PM : 150 +MV : 2 +DESC : Heal est des notres +Insertion de la classe 3 dans le tableau + +Chargement de la classe numero 4 +Id : C_ROGUE +Nom : Voleur +PV : 100 +PM : 150 +MV : 2 +DESC : 60 minutes, ça vaut l'heure +Insertion de la classe 4 dans le tableau + +Chargement de la classe numero 5 +Id : C_ARCHER +Nom : Archer +PV : 100 +PM : 150 +MV : 2 +DESC : Gérard, de son prénom +Insertion de la classe 5 dans le tableau diff --git a/src/SDL.c b/src/SDL.c index 436ca958639b1a0bb3b803ced0da7a65ea312b78..b3461c85fbeec229eca811a0d8e4f1b142e97e90 100644 --- a/src/SDL.c +++ b/src/SDL.c @@ -162,7 +162,7 @@ int main_SDL() quitter=1; break; case SDL_MOUSEBUTTONDOWN: - deplacement_personnage(0,event.button.x,event.button.y); + deplacement_personnage(event.button.x,event.button.y); break; case SDL_MOUSEMOTION: if(event.motion.x<LARGEUR_CARTE*LARGEUR_CASE&&event.motion.y<HAUTEUR_CARTE*HAUTEUR_CASE) @@ -173,6 +173,9 @@ int main_SDL() break; case SDL_KEYDOWN:/* Si c'est un événement de type "touche pressée" */ switch(event.key.keysym.sym){ + case SDLK_n: + persosuivant(); + break; case SDLK_ESCAPE: quitter=1; break; @@ -181,8 +184,10 @@ int main_SDL() } break; } - Position_Perso[0].x=get_position_perso_x(0); - Position_Perso[0].y=get_position_perso_y(0); + for(i=0;i<NB_PERSO;i++){ + Position_Perso[i].x=get_position_perso_x(i); + Position_Perso[i].y=get_position_perso_y(i); + } Position_Case_brillante.x=x_case_brillante; Position_Case_brillante.y=y_case_brillante; SDL_FillRect(ecran,NULL,SDL_MapRGB(ecran->format,0,0,0)); diff --git a/src/Terrains_XML_log b/src/Terrains_XML_log index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..716eba775e49a0069fbb10215336ca60de8038ce 100644 --- a/src/Terrains_XML_log +++ b/src/Terrains_XML_log @@ -0,0 +1,43 @@ +Fichier decrivant le deroulement de la procedure d'aquisition des Terrains + +I) Chargement du fichier Terrains XML - Definition des noeuds +Le fichier contient 4 terrains +II) Chargement des terrains +1) Memoire allouee avec succes +La memoire allouee fait 64 octets + +Chargement du terrain numero 1 +Id : G_PLAIN +Nom : Plaine +FR : 1 +FRS : 1 +PDR : 1 +DESC : Plaine de bon sens +Insertion du terrain 1 dans le tableau + +Chargement du terrain numero 2 +Id : G_RIVER +Nom : Riviere +FR : 0 +FRS : 1 +PDR : 1 +DESC : River, arrete de river +Insertion du terrain 2 dans le tableau + +Chargement du terrain numero 3 +Id : G_FOREST +Nom : Foret +FR : 1 +FRS : 1 +PDR : 2 +DESC : Le frère de Fopart +Insertion du terrain 3 dans le tableau + +Chargement du terrain numero 4 +Id : G_MOUNT +Nom : Montagne +FR : 0 +FRS : 0 +PDR : 0 +DESC : Montagne est plus haut que tontagne +Insertion du terrain 4 dans le tableau diff --git a/src/controleurSDL.c b/src/controleurSDL.c index fb1f44d96a9ea9b05ca61a269dfd197e68ca008e..1d96957e9edd52cd06056670b1270eaa9cc7942e 100644 --- a/src/controleurSDL.c +++ b/src/controleurSDL.c @@ -18,6 +18,7 @@ Carte Carte_actuelle; Personnage ListePersos[NB_PERSO]; +int perso_actuel=0; void init_controleur(SDL_Rect Position_Case[]) @@ -27,7 +28,8 @@ void init_controleur(SDL_Rect Position_Case[]) { init_case(&Carte_actuelle[i],Position_Case[i].x,Position_Case[i].y,NULL); } - init_personnage(&ListePersos[0],NULL,&Carte_actuelle[0]); + for(i=0;i<NB_PERSO;i++) + init_personnage(&ListePersos[i],NULL,&Carte_actuelle[i]); } int x_case_cliquee(int x_pixel, int y_pixel) @@ -63,13 +65,16 @@ Case * trouverCase(Carte c, int x, int y) } } +persosuivant(){ + perso_actuel++; +} -void deplacement_personnage(int num, int x, int y) +void deplacement_personnage(int x, int y) { if(x<LARGEUR_CARTE*LARGEUR_CASE&&y<HAUTEUR_CARTE*HAUTEUR_CASE) { Case* case_cliquee = trouverCase(Carte_actuelle,x_case_cliquee(x,y),y_case_cliquee(x,y)); - Personnage* perso = &ListePersos[num]; + Personnage* perso = &ListePersos[perso_actuel]; if (case_a_cote(perso,case_cliquee,HAUTEUR_CASE,LARGEUR_CASE)==vrai) { deplacer_personnage(perso, case_cliquee); diff --git a/src/controleurSDL.h b/src/controleurSDL.h index fcd7168f2f517740e0f5ec921a162a147ad52344..41d571d4493d3d7b2e7412035bd698f94e7fd8e8 100644 --- a/src/controleurSDL.h +++ b/src/controleurSDL.h @@ -13,7 +13,7 @@ int x_case_cliquee(int x_pixel, int y_pixel); Case * trouverCase(Carte c, int x, int y); -void deplacement_personnage(int num, int x, int y); +void deplacement_personnage(int x, int y); Case* get_case_perso(int num); @@ -29,5 +29,7 @@ int get_position_case_y(Case * Case); int get_position_case_x(Case * Case); +void persosuivant(); + #endif diff --git a/src/main.c b/src/main.c index 3d2e395507dfeb0c2ed106c7c2fa61255df7e248..f73765d2c5ffb736ffe3176be3738a64a49a91c7 100644 --- a/src/main.c +++ b/src/main.c @@ -71,12 +71,12 @@ int main() init_jeu("../resources/Init_jeu.xml"); -/* Pour Henri <3 */ - +/* Pour Henri <3 printf("La case choisie est : %c\n",LireCarte("../resources/Maps.txt",3)[0]); + */ -//main_SDL(); +main_SDL();