From dd9ecf09e5da1ea4412cf3b05736ecc99106af7c Mon Sep 17 00:00:00 2001 From: Henri Montjoie <henri.montjoie@insa-rennes.fr> Date: Mon, 16 May 2016 22:56:38 +0200 Subject: [PATCH] fonction du controleur pour l'affichage des cases atteignables --- src/controleur.c | 17 +++++++++++++++++ src/controleur.h | 1 + 2 files changed, 18 insertions(+) diff --git a/src/controleur.c b/src/controleur.c index 8641be1..e3bdc26 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 9ffa57a..68cd476 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); -- GitLab