diff --git a/src/affichage.c b/src/affichage.c index 13e1371826f93b0dc920b37eedd94fffe786b5b8..4c64c574a92d91266c64dcdab868ce0ab4cc3cff 100644 --- a/src/affichage.c +++ b/src/affichage.c @@ -65,6 +65,16 @@ int main_affichage() return 0; } +void perso_suivant(int *numPerso){ + if (*numPerso==NB_PERSO) *numPerso=1; + else if (*numPerso==NB_PERSO*2) *numPerso=NB_PERSO+1; + else *numPerso++; +} + +void actualiser_num_perso(int *numPerso){ + if (*numPerso<=NB_PERSO) *numPerso=NB_PERSO+1; + else *numPerso=1; +} /*! * \fn int afficher_cartes_personnalisees() @@ -757,11 +767,12 @@ int affichage_carte() break; case SDL_MOUSEBUTTONDOWN: if(event.button.y>pos_bouton1.y&&event.button.y<pos_bouton1.y+bouton1->h){ - //nextPerso(); + perso_suivant(&perso_select); } if(event.button.y>pos_bouton2.y&&event.button.y<pos_bouton2.y+bouton2->h){ - //nextJoueur(); + //fin_du_tour(); //nom_joueur= TTF_RenderText_Shaded(vieille_police, obtenirNomJoueur(), couleurBlanche, couleurNoire); + actualiser_num_perso(&perso_select); } if(event.button.x<LARGEUR_CARTE*LARGEUR_CASE){ //deplacement_personnage(event.button.x,event.button.y); @@ -839,6 +850,7 @@ int affichage_carte() SDL_FreeSurface(nom_joueur); SDL_FreeSurface(bouton1); SDL_FreeSurface(bouton2); + //SDL_FreeSurface(PV); TTF_CloseFont(vieille_police); etat=FERMER; diff --git a/src/controleurSDL.c b/src/controleurSDL.c index f6b5e3791d12a67768fa22ff96eeb7f2a2953062..46a28c820644ca2d3b5682cee9efa842315ef46d 100644 --- a/src/controleurSDL.c +++ b/src/controleurSDL.c @@ -17,27 +17,6 @@ */ -Carte Carte_actuelle; -Personnage ListePersos[NB_PERSO]; -int perso_actuel=0; - -/*! - * \fn void init_controleur(SDL_Rect Position_Case[]) - * \brief fonction du controleur appellée par l'affichage et qui initialise le moteur du jeu (création de la carte et des personnages) - * - * \param les coordonnées de toutes les cases - */ -void init_controleur(SDL_Rect Position_Case[]) -{ - int i; - for(i=0;i<LARGEUR_CARTE*HAUTEUR_CARTE;i++) - { - init_case(&Carte_actuelle[i],Position_Case[i].x,Position_Case[i].y,NULL); - } - for(i=0;i<NB_PERSO;i++) - set_personnage(&ListePersos[i],NULL); -} - /*! * \fn int x_case_cliquee(int x_pixel, int y_pixel) * \brief La fonction retourne la colonne d'une case à partir de sa position en pixels @@ -70,110 +49,3 @@ int y_case_cliquee(int x_pixel, int y_pixel) } return y_case; } - -/*! - * \fn void persosuivant() - * \brief La fonction permet de selectionner le personnage suivant - */ -void persosuivant(){ - if(perso_actuel<NB_PERSO-1) - perso_actuel++; - else - perso_actuel=0; -} -/*! - * \fn int persoactuel() - * \brief La fonction retourne le numéro du personnage actuellement controlé - */ -int persoactuel(){ -return perso_actuel; -} -/*! - * \fn void deplacement_personnage(int x, int y)) - * \brief Cette fonction du controleur appelle la fonction du moteur permettant de déplacer le personnage selectionné - * - * \param les coordonnées (en pixels) de l'endroit ou l'utilisateur a cliqué - */ -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[perso_actuel]; - deplacement_unitaire(perso, case_cliquee,HAUTEUR_CASE,LARGEUR_CASE); - } -} -/*! - * \fn Case* get_case_perso(int num) - * \brief donne la case sur laquelle est située un personnage - * - * \param le numéro d'un personnage - * \return un pointeur vers la case du personnage - */ -Case* get_case_perso(int num) -{ - Personnage* perso = &ListePersos[num]; - return getPosition(perso); -} -/*! - * \fn int get_position_perso_x(int num) - * \brief donne la coordonnée x en pixels d'un personnage - * - * \param le numéro d'un personnage - * \return la coordonnée x en pixels du personnage - */ -int get_position_perso_x(int num) -{ - Case* case_perso = get_case_perso(num); - return get_x(case_perso); -} -/*! - * \fn int get_position_perso_y(int num) - * \brief donne la coordonnée y en pixels d'un personnage - * - * \param le numéro d'un personnage - * \return la coordonnée y en pixels du personnage - */ -int get_position_perso_y(int num) -{ - Case* case_perso = get_case_perso(num); - return get_y(case_perso); -} -/*! - * \fn Case* deplacement_brillance(int x,int y) - * \brief La fonction retourne un pointeur vers la case de coordonnées x,y - * - * \param les coordonnées x et y d'une case (pas en pixels mais bien en colonne et ligne), ainsi que la carte utilisée - * \return un pointeur vers cette case - */ -Case* deplacement_brillance(int x,int y) -{ - if(x<LARGEUR_CARTE*LARGEUR_CASE&&y<HAUTEUR_CARTE*HAUTEUR_CASE) - { - return trouverCase(Carte_actuelle,x_case_cliquee(x,y),y_case_cliquee(x,y)); - } - return NULL; -} - -/*! - * \fn int get_position_case_y(Case * Case) - * \brief retourne la coordonnée y d'une case - * - * \param un pointeur vers une case - * \return la coordonnée y de la case - */ -int get_position_case_y(Case * Case){ - return get_y(Case); -} -/*! - * \fn int get_position_case_x(Case * Case) - * \brief retourne la coordonnée x d'une case - * - * \param un pointeur vers une case - * \return la coordonnée x de la case - */ -int get_position_case_x(Case * Case) -{ - return get_x(Case); -} -