Newer
Older
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include "initialisation.h"
/**
* \fn int inputYN()
* \brief fonction de test qui verifie si Y a été entré
*
*
* \return 1 si Y et 0 sinon
*/
{
char tmp;
scanf("%c", &tmp);
getchar();
return (tmp == 'y' || tmp == 'Y');
}
/**
* \fn void presenceJoueur(Joueur* current)
* \brief fonction qui demandent si le bon joueur et devant l'ecran
*
* \param Joueur* current le joueur courrent
*
*/
void presenceJoueur(Joueur* current)
{
while (1)
{
printf("\nVeuillez le joueur \"%s\" presenter devant l'ecran!\n",
current->nom);
printf("Vous etes le joueur \"%s\"? Y/N ", current->nom);
if (inputYN())
system("clear");
/**
* \fn void MultiSuivant(int i)
* \brief demande au joueur si il est pret a continuer dans different cas
*
* \param int i si i= 1 joueur suivant i=2 manche suivante i=3 partie suivante
*
*/
Liu Yiqun
committed
void MultiSuivant(int i)
Liu Yiqun
committed
if(i==1)
{
printf("entrer pour passer au joueur suivant ");
getchar();
break;
Liu Yiqun
committed
}
if(i==2)
{
printf("\nPasser au manche suivant? Y/N ");
if (inputYN())break;
}
if(i==3)
{
printf("Passer a la partie suivante? Y/N ");
if (inputYN())break;
}
/**
* \fn void inputPlayersNum()
* \brief permet de rentre le nombre de joueur
*
*
*
*/
printf("Veuillez saisir le nombre de joueurs: ");
while (numJoueur > MAX_JOUEURS || numJoueur <= 1)
{
printf("Le nombre de joueurs n'est pas valide!");
printf("recommencez: ");
/**
* \fn Joueur* saisirJoueur()
* \brief permet de rentrer le nom des joueur et leur ordre
*
* \return Joueur le joueur saisie
*/
printf("\n choisissez un nom de joueur.\n");
printf("Appuyer sur Enter pour finir la saisie.\n");
Joueur *p,*head;
int i;
for (i = 1; i < numJoueur + 1; i++)
{
if (i == 1)
{
p = (Joueur*) malloc(sizeof(Joueur));
p->nombreDes=5;// on peut le modifier pour faciliser le test
head = p;
}
else
{
p->next = (Joueur*) malloc(sizeof(Joueur));
p = p->next;
Liu Yiqun
committed
p->nombreDes=5;
printf("\n joueur %d: ", i);
fgets(p->nom, 20, stdin);
p->nom[strlen(p->nom) - 1] = 0;
system("clear");
* \fn int randInt(int max)
* \brief permet de retourner un entier entre 1 et max
*
* \return int entier aléatoire entre 1 et max
int randInt(int max)
{
return (rand() % max + 1);
/**
* \fn Joueur* getPremierJoueur(Joueur* head)
* \brief donne le premier joueur
* \param Joueur* head le debut de la liste de joueur
* \return Joueur le premier joueur
*/
Joueur* getPremierJoueur(Joueur* head)
{
int num = randInt(numJoueur) - 1;
Liu Yiqun
committed
printf("\nOn a choisi par harsard le numero %d comme le permier joueur\n",
num + 1);
return getJoueur(head, num);
/**
* \fn Joueur* getJoueur(Joueur* head, int num)
* \brief donne un premier joueur
* \param Joueur* head le debut de la liste de joueur, int num le numero du joueur souhaité
* \return Joueur le joueur souhaité
*/
Joueur* getJoueur(Joueur* head, int num)
{
Joueur *tmp = head;
int i;
for (i = 0; i < num; i++)
/**
* \fn void distribuerDes(Joueur* p)
* \brief fais le tirage des des du jouer
* \param Joueur* p le joueur dont ont tire les des
*
*/
int i;
int j;
for (i = 0; i < numJoueur; i++)
{
p->des[j] = randInt(6);
}
printf("\n");
p = p->next;
system("clear");
}
printf("Tous les des sont distribues aux joueurs.\n");