diff --git a/src/AffichageConsole.c b/src/AffichageConsole.c new file mode 100644 index 0000000000000000000000000000000000000000..9132f175c24b0b8dc06ea5eca1431127bd14f6fb --- /dev/null +++ b/src/AffichageConsole.c @@ -0,0 +1,91 @@ +/*! +* \file AffichageConsole.c +* \brief Fichier contenant le code des fonctions liees a la structure AffichageConsole. +*/ + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include "structures.h" +#include "AffichageConsole.h" +#include "joueur.h" +#include "personnage.h" +#include "case.h" +#include "joueurList.h" + +/*! + * \fn void afficheEnsembleJoueur(Partie *p) + * \brief La fonction permet d'afficher le nom de chaque joueur avec leur personnage et ses coordonnees. + * + * \param Un pointeur vers les joueur a afficher avec leur personnage et ses coordonnees. + */ +void afficheEnsembleJoueur(Partie *p){ + Joueur * Temporaire = getCurrentJoueur(p->participants); // On sauve l'emplacement du current actuel + setOnFirstJoueur(p->participants); // On se positionne sur le premier joueur + while(!outOfJoueurList(p->participants)){ //Tant qu'on est pas arrivé au dernier current + afficheNomJoueur(getCurrentJoueur(p->participants)); + afficheNomPersonnage(getPersonnage(getCurrentJoueur(p),0)); + afficheCoordonneePersonnage(getPosition(getPersonnage(getCurrentJoueur(p),0))); + nextJoueur(p->participants); + } + /*On affiche le dernier current (personnage)*/ + afficheNomJoueur(getCurrentJoueur(p->participants)); + afficheNomPersonnage(getPersonnage(getCurrentJoueur(p),0)); + afficheCoordonneePersonnage(getPosition(getPersonnage(getCurrentJoueur(p),0))); + + setOnJoueur(p->participants, Temporaire); // On retourne sur le current original +} + +/*! + * \fn void afficheNomJoueur(Joueur * j) + * \brief La fonction permet d'afficher le nom du joueur. + * + * \param Un pointeur vers le joueur a afficher. + */ +void afficheNomJoueur(Joueur * j){ + printf("Joueur: %s\n", getNomJoueur(j)); +} + +/*! + * \fn void afficheNomPersonnage(Personnage * p) + * \brief La fonction permet d'afficher le nom du personnage. + * + * \param Un pointeur vers le personnage a afficher. + */ +void afficheNomPersonnage(Personnage * p){ + /*printf("Personnage: %s\n", getPersonnage(p)); // Il n'y a pas de fonction pour récupérer le nom du personnage */ +} + +/*! + * \fn void afficheCoordoneesPersonnage(Case * c) + * \brief La fonction permet d'afficher les coordonnees du personnage. + * + * \param Un pointeur vers les coordonnees du personnage a afficher. + */ +void afficheCoordonneesPersonnage(Case *c){ + printf("Coordonnées: \n x = %d\n y = %d \n", get_x(c), get_y(c)); +} + +/*! + * \fn void afficheEtatPersonnage(Personnage * p) + * \brief La fonction permet d'afficher l'etat du personnage. + * + * \param Un pointeur vers l'etat du personnage a afficher. + */ +void afficheEtatPersonnage(Personnage *p){ + afficheNomPersonnage(p); + printf("Points de déplacement: %d\n", get_PD(p)); + printf("Points de vie: %d\n", get_PV(p)); + /*printf("Mana: %d\n", getMANA(p));*/ // Il n'ya a pas de fonction getMANA() +} + +/*! + * \fn void affichePremierChoix(Partie *p) + * \brief La fonction permet de faire appel a la fonction afficheEnsembleJoueur(Partie *p), ainsi que le premier choix que doit faire le joueur dont le tour commence. + * + * \param Un pointeur vers la fonction afficheEnsembleJoueur(Partie *p) ainsi que le premier choix que doit faire le joueur dont le tour commence. + */ +void affichePremierChoix(Partie *p){ + afficheEnsembleJoueur(Partie *p); + printf("%s : Que voulez-vous faire?\n 1-Sélectionner un personnage\n 2-Fin du tour\n", getNomJoueur(getCurrentJoueur(p->participants))); +} diff --git a/src/AffichageConsole.h b/src/AffichageConsole.h new file mode 100644 index 0000000000000000000000000000000000000000..94555992fa08cffea0be491ff73cb24eab5b9029 --- /dev/null +++ b/src/AffichageConsole.h @@ -0,0 +1,22 @@ +/*! +* \file AffichageConsole.h +* \brief Fichier contenant les signatures des fonctions liees a la structure AffichageConsole. +*/ + +#include "structures.h" +#include "joueur.h" +#include "personnage.h" +#include "case.h" +#include "joueurList.h" + +#ifndef AFFICHAGECONSOLE_H +#define AFFICHAGECONSOLE_H + +void afficheEnsembleJoueur(Partie *p); +void afficheNomJoueur(Joueur * j); +void afficheNomPersonnage(Personnage * p); +void afficheCoordonneesPersonnage(Case *c); +void afficheEtatPersonnage(Personnage *p); +void affichePremierChoix(Partie *p); + +#endif // AFFICHAGECONSOLE_H diff --git a/src/main.c b/src/main.c index ccddb4df21345913c1124cb56406d6ec483a559f..f49f29bb8907ff1e3d7d5b5634a8240a214ebe5b 100644 --- a/src/main.c +++ b/src/main.c @@ -1,7 +1,8 @@ #include <stdio.h> #include <stdlib.h> #include "structures.h" - +#include "AffichageConsole.h" +#include "joueur.h" int init_jeu(){ /* crée les différents types de terrains, de classes et d'attaques en lisant dans un fichier */ FILE *fichier; @@ -15,7 +16,7 @@ int init_jeu(){ /* cr int main() { - printf("Hello world!\n"); + return 0; }