Skip to content
Snippets Groups Projects
Commit c4959e36 authored by Montjoie Henri's avatar Montjoie Henri
Browse files

possibilite de controler plusieurs personnages

parent e3261f9e
No related branches found
No related tags found
No related merge requests found
resources/archer.bmp

15.2 KiB

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
......@@ -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 vnement de type "touche presse" */
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));
......
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
......@@ -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);
......
......@@ -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
......@@ -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();
......
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