diff --git a/src/controleur.c b/src/controleur.c index 8641be1bde2e669af93a6b98dabb76e0fece9ddc..e3bdc269ad7d67474b22d25d2d8561c97f64ba84 100644 --- a/src/controleur.c +++ b/src/controleur.c @@ -514,6 +514,7 @@ Personnage * trouverPersonnage(Case * c){ void deplacement_personnage(int numPerso, int x_pixel, int y_pixel){ int x=x_case_cliquee(x_pixel, y_pixel); int y=y_case_cliquee(x_pixel, y_pixel); + int i,j; if(numPerso<=NB_PERSO){ deplacement_unitaire(getCurrentJoueur(getListJoueur(partieGlobale))->groupe[numPerso-1],trouverCase(getCarte(partieGlobale),x,y)); } @@ -522,6 +523,22 @@ void deplacement_personnage(int numPerso, int x_pixel, int y_pixel){ } } +/*! + * \fn boolean case_accessible(int numPerso, int x_pixel, int y_pixel) + * \brief fonction qui dit si une case distante est accessible a un personnage au vu de ses points de deplacements et du terrain + * + * \param Le numero du personnage a deplacer, les coordonnees ou l'utilisateur a clique + * \return vrai ou faux + */ +boolean case_accessible(int numPerso, int x_pixel, int y_pixel){ + int x=x_case_cliquee(x_pixel, y_pixel); + int y=y_case_cliquee(x_pixel, y_pixel); + if(numPerso<=NB_PERSO){ + return deplacement_possible(getCurrentJoueur(getListJoueur(partieGlobale))->groupe[numPerso-1], trouverCase(getCarte(partieGlobale),x,y), getCarte(partieGlobale)); + }else{ + return deplacement_possible(getCurrentJoueur(getListJoueur(partieGlobale))->groupe[numPerso-1-NB_PERSO], trouverCase(getCarte(partieGlobale),x,y), getCarte(partieGlobale)); + } +} /*! * \fn char * obtenirNomJoueurCourant() diff --git a/src/controleur.h b/src/controleur.h index 9ffa57a4976e8f6e21cf5946a35f8ecc9048e184..68cd4765c1ac8d90253b381b088e56aacdf14fef 100644 --- a/src/controleur.h +++ b/src/controleur.h @@ -43,6 +43,7 @@ void obtenirPositionPersonnage(int numero, int * x, int * y); Personnage * trouverPersonnage(Case * c); void deplacement_personnage(int numPerso,int x,int y); +boolean case_accessible(int numPerso, int x_pixel, int y_pixel); char * obtenirNomJoueurCourant(); char * obtenirNomClassePersonnage(int numero);