jeu de dames prob avec les fonctions

jeu de dames prob avec les fonctions - C - Programmation

Marsh Posté le 23-05-2005 à 17:26:37    

salut à tous,  
j'ai un projet à faire, c'est un jeu de dames  
j'ai un prob avec mes fonctions  
quelqu'un peut y jeter un oeil svp.  
vous pouvez faire des modifs si vous voullez.  
 
y'en aura surement vu que c'est ma première programmation;  
 
alors allez y; faites vous plaizzzzzzzzz    
j'utilise Visual C++6  
 
 
voici le message d'erreur:"local function definitions are illegal"  
 
c'est parti!!!  
à plus.  
 
#include<stdio.h>  
#include<stdlib.h>  
#define TAY 10  
#define TAY2 2  
 
 
/*traçage du tableau*/  
 
 
void affichage(char**tab,short nnr, short nbr){  
 
 short i,k,l,m,numligne,numcol;  
 
l=0;  
m=0;  
 
 
//titre  
for(i=0;i<27;i++)  
printf("*#" );  
for(i=0;i<10;i++)  
printf("*#" );  
printf(" JEU DE DAME" );  
for(i=0;i<10;i++)  
printf("*#" );  
printf("\n" );  
for (i=0;i<27;i++)  
printf("*#" );  
printf("*\n\n\n" );  
 
 
//rephre colonne  
printf("  1  2  3  4  5  6  7  8  9  10\n" );  
 
//ligne horizontale haut  
printf("  " );  
for(i=0;i<50;i++)  
printf("_" );  
printf("\n" );  
 
for (numligne=0;numligne<10;numligne++){  
 
 //la case noirte  
 if(m%2==0){  
 
  for(k=0;k<3;k++){  
 
   //rephre ligne  
   if(k==0||k==2)  
    printf("|" );  
   else if(m==0)  
    printf("A|" );  
   else if(m==2)  
    printf("C|" );  
   else if(m==4)  
    printf("E|" );  
   else if(m==6)  
    printf("G|" );  
   else if(m==8)  
    printf("I|" );  
 
   for(numcol=0;numcol<10;numcol++){  
 
    //la fameuse case noirte  
    if(l%2!=1){  
     if(k==1)  
     printf("%c",tab[numligne][numcol]);  
     else printf(" " );  
     l++;  
    }  
 
    //et la case blanche  
    else{  
     printf("###" );  
     l++;  
    }  
   }  
 
   printf("|\n" );  
  }  
  m++;  
 }  
 
 //ligne horizontale bas  
 printf(" " );  
 for(i=0;i<50;i++)  
  printf("-" );  
 
 //rephre colonne  
 printf("\n  1  2  3  4  5  6  7  8  9  10\n" );  
 printf("\n\n\n\n" );  
 
 
 //clearage du tableau  
 for(i=0;i<10;i++){  
  for(k=0;k<10;k++){  
   printf("%c",tab[i][k]);  
  }  
  printf("\n" );  
 }  
 
printf("\n\n\n" );  
 
}  
 
///////////////// fin affichagte  
 
/// nombre de pion restant  
 
short compten(char**tab){  
 short nnr,i,k;  
 
nnr=0;  
 
//calcul nombre de pions noirs restants  
 
for(i=0;i<10;i++){  
 for(k=0;k<10;k++){  
  if(tab[i][k]=='N')  
   nnr++;  
 }  
}  
 
return nnr;  
 
}  
 
////////////////////////////  
short compteb(char**tab){  
 
 short nbr,i,k;  
 
nbr=0;  
 
//calcul nombre de pions blancs restants  
for(i=0;i<10;i++){  
 for(k=0;k<10;k++){  
  if(tab[i][k]=='B')nbr++;  
 }  
}  
 
return nbr;  
 
}  
 
/**************************fin compte***********************/  
 
 
/////////////////////demande deplacement////////////  
//////////////choix pion///////////////  
short demandeletr(){  
 
 char lettre;  
 short lettrif;  
 
printf("Select the pion, lettre: " );  
scanf("%c%*c",&lettre);  
 
if(lettre=='A')lettrif=0;if(lettre=='B')lettrif=1;if(lettre=='C')lettrif=2;if(lettre=='D')lettrif=3;  
if(lettre=='E')lettrif=4;if(lettre=='F')lettrif=5;if(lettre=='G')lettrif=6;if(lettre=='H')lettrif=7;  
if(lettre=='I')lettrif=8;if(lettre=='J')lettrif=9;  
 
return lettrif;  
 
}  
 
/////////////////////  
short demandechi(){  
 
 short chiffre;  
 
printf(" ,chiffre:" );  
scanf("%hd%*c",&chiffre);  
 
return (chiffre-1);  
 
}  
 
////choix destinée////  
short demaceletr(){  
 
 char lettre;  
 short lettrif2;  
 
printf("Where to go, lettre: " );  
scanf("%c%*c",&lettre);  
 
if (lettre=='A')lettif2=0;if(lettre=='B')lettrif2=1;if(lettre=='C')lettrif2=2;if(lettre=='D')lettrif2=3;  
if(lettre=='E')lettrif2=4;if(lettre=='F')lettrif2=5;if(lettre=='G')lettrif2=6;if(lettre=='H')lettrif2=7;  
if(lettre=='I')lettrif2=8;if(lettre=='J')lettrif2=9;  
 
return lettrif2;  
}  
 

Reply

Marsh Posté le 23-05-2005 à 17:26:37   

Reply

Marsh Posté le 23-05-2005 à 17:44:42    

Balises [cpp][/cpp] please  :(  
 
Illisible tel quel, pas indenté ni rien, même pas envie d'essayer.
 
En plus "j'ai un pb avec mes fonctions", c'est un peu trop précis. Si tu pouvais être un peu plus vague, je pense qu'on y verrait encore plus clair.

Reply

Marsh Posté le 23-05-2005 à 18:13:57    

Bon aller, je sens que je vais devoir mettre moi même les balises parce que là ...
Au passage j'ai modifié un peu pour que ça compile.

Code :
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #define TAY 10
  4. #define TAY2 2
  5. /*traçage du tableau*/
  6. void affichage(char**tab,short nnr, short nbr){
  7.   short i,k,l,m,numligne,numcol;
  8.   l=0;
  9.   m=0;
  10.   //titre
  11.   for(i=0;i<27;i++)
  12.     printf("*#" );
  13.   for(i=0;i<10;i++)
  14.     printf("*#" );
  15.   printf(" JEU DE DAME" );
  16.   for(i=0;i<10;i++)
  17.     printf("*#" );
  18.   printf("\n" );
  19.   for (i=0;i<27;i++)
  20.     printf("*#" );
  21.   printf("*\n\n\n" );
  22.   //rephre colonne
  23.   printf("  1  2  3  4  5  6  7  8  9  10\n" );
  24.   //ligne horizontale haut
  25.   printf("  " );
  26.   for(i=0;i<50;i++)
  27.   printf("_" );
  28.   printf("\n" );
  29.   for (numligne=0;numligne<10;numligne++){
  30.     //la case noirte  
  31.     if(m%2==0){
  32.       for(k=0;k<3;k++){
  33.         //rephre ligne  
  34.         if(k==0||k==2)
  35.           printf("|" );
  36.         else if(m==0)
  37.           printf("A|" );
  38.         else if(m==2)
  39.           printf("C|" );
  40.         else if(m==4)
  41.           printf("E|" );
  42.         else if(m==6)
  43.           printf("G|" );
  44.         else if(m==8)
  45.           printf("I|" );
  46.         for(numcol=0;numcol<10;numcol++){
  47.           //la fameuse case noirte  
  48.           if(l%2!=1){
  49.             if(k==1)
  50.               printf("%c",tab[numligne][numcol]);
  51.             else printf(" " );
  52.             l++;
  53.    }
  54.           //et la case blanche  
  55.           else{
  56.             printf("###" );
  57.             l++;
  58.    }
  59.  }
  60.         printf("|\n" );
  61.   }
  62.       m++;
  63. }
  64.     //ligne horizontale bas  
  65.     printf(" " );
  66.     for(i=0;i<50;i++)
  67.       printf("-" );
  68.     //rephre colonne  
  69.     printf("\n  1  2  3  4  5  6  7  8  9  10\n" );
  70.     printf("\n\n\n\n" );
  71.     //clearage du tableau  
  72.     for(i=0;i<10;i++){
  73.       for(k=0;k<10;k++){
  74.         printf("%c",tab[i][k]);
  75.   }
  76.       printf("\n" );
  77. }
  78.     printf("\n\n\n" );
  79.   }
  80. }
  81. ///////////////// fin affichagte
  82. /// nombre de pion restant
  83. short compten(char**tab){
  84.   short nnr,i,k;
  85.   nnr=0;
  86.   //calcul nombre de pions noirs restants  
  87.   for(i=0;i<10;i++){
  88.     for(k=0;k<10;k++){
  89.       if(tab[i][k]=='N')
  90.         nnr++;
  91.     }
  92.   }
  93.   return nnr;
  94. }
  95. ////////////////////////////  
  96. short compteb(char**tab){
  97.   short nbr,i,k;
  98.   nbr=0;
  99.   //calcul nombre de pions blancs restants  
  100.   for(i=0;i<10;i++){
  101.     for(k=0;k<10;k++){
  102.       if(tab[i][k]=='B')nbr++;
  103.     }
  104.   }
  105.   return nbr;
  106. }
  107. /**************************fin compte***********************/
  108. /////////////////////demande deplacement////////////  
  109. //////////////choix pion///////////////  
  110. short demandeletr(){
  111.   char lettre;
  112.   short lettrif;
  113.   printf("Select the pion, lettre: " );
  114.   scanf("%c%*c",&lettre);
  115.   if(lettre=='A')lettrif=0; if(lettre=='B')lettrif=1;
  116.   if(lettre=='C')lettrif=2; if(lettre=='D')lettrif=3;
  117.   if(lettre=='E')lettrif=4; if(lettre=='F')lettrif=5;
  118.   if(lettre=='G')lettrif=6; if(lettre=='H')lettrif=7;
  119.   if(lettre=='I')lettrif=8; if(lettre=='J')lettrif=9;
  120.   return lettrif;
  121. }
  122. /////////////////////  
  123. short demandechi(){
  124.   short chiffre;
  125.   printf(" ,chiffre:" );
  126.   scanf("%hd%*c",&chiffre);
  127.   return (chiffre-1);
  128. }
  129. ////choix destin
  130. short demaceletr(){
  131.   char lettre;
  132.   short lettrif2;
  133.   printf("Where to go, lettre: " );
  134.   scanf("%c%*c",&lettre);
  135.   if (lettre=='A')lettrif2=0; if (lettre=='B')lettrif2=1;
  136.   if (lettre=='C')lettrif2=2; if (lettre=='D')lettrif2=3;
  137.   if (lettre=='E')lettrif2=4; if (lettre=='F')lettrif2=5;
  138.   if (lettre=='G')lettrif2=6; if (lettre=='H')lettrif2=7;
  139.   if (lettre=='I')lettrif2=8; if (lettre=='J')lettrif2=9;
  140.   return lettrif2;
  141. }
  142. //////////////////////  
  143. short demacechi(){
  144.   short chiffre2;
  145.   printf(" ,chiffre: " );
  146.   scanf("%hd%*c",&chiffre2);
  147.   return(chiffre2-1);
  148. }
  149. /**************************fin demande*****************************************/
  150. ///////////////////////deplacement///////////////
  151. //////////supprim
  152. char** Deplace(char**tab,short lettrif, short chiffre){
  153.   tab[lettrif][chiffre]=' ';
  154.   return tab;
  155. }
  156. ///APPARITION PION///////////  
  157. char** Deplace2(char**tab, short lettrif2, short chiffre2){
  158.   tab[lettrif2][chiffre2]='X';
  159.   return tab;
  160. }
  161. /******************************FIN DEPLACE*************************************/
  162. ////////////////////A QUI LE TOUR ?////////////////////////////  
  163. short tour0(){
  164.   short turn;
  165.   turn=0;
  166.   return turn;
  167. }
  168. ///////////////////  
  169. short tour(short turn){
  170.   turn++;
  171.   return (turn%2);
  172. }
  173. /******************************************************************************/
  174. ///////////////////////ERREUR PION//////////////////////////////////////////////  
  175. short erreurpion(char**tab,short lettrif,short chiffre,short turn){
  176.   if(turn==0&&tab[lettrif][chiffre]!='B'){
  177.     printf("\nERREUR DE PION !Vous devez choisir un pion blanc.\n" );
  178.     return 1;
  179.   }
  180.   else if(turn%2!=0&&tab[lettrif][chiffre]!='N'){
  181.     printf("\nERREUE DE PION ! Vous devez choisir un pion noir.\n" );
  182.     return 1;
  183.   }
  184.   else return 0;
  185. }
  186. /******************************************************************************/
  187. ////////////////////////////ERREUR DE DEPLACEMENT///////////////////////////////
  188. short erreurdeplac(char**tab,short lettrif2,short chiffre2){
  189.   if(tab[lettrif2][chiffre2]!=' '){
  190.     printf("ERREUR DESTINATION !Vous devez choisir une case vide.\n" );
  191.     return 1;
  192.   }
  193.   else return 0;
  194. }
  195. /******************************************************************************/
  196. ///////////////////////////INITIALISATION TABLEAU///////////////////////////////  
  197. char** initTab(){
  198.   char**tab;
  199.   short i,j,m;
  200.   tab=(char**)malloc(sizeof(char*)*TAY);
  201.   for(i=0;i<TAY;i++){
  202.     tab[i]=(char*)malloc(sizeof(char)*TAY);
  203.   }
  204.   //case pions blancs  
  205.   m=0;
  206.   for(i=0;i<4;i++){
  207.     for(j=0;j<10;j++){
  208.       if(j%2!=1-(m%2)){
  209.         tab[i][j]='B';
  210.       }
  211.       else{
  212.         tab[i][j]='#';
  213.       }
  214.     }
  215.     m++;
  216.   }
  217.  
  218.   //case vierges  
  219.   for(i=4;i<6;i++){
  220.     for(j=0;j<10;j++){
  221.       if(j%2!=1-(m%2)){
  222.         tab[i][j]=' ';
  223.       }
  224.       else{
  225.         tab[i][j]='#';
  226.       }
  227.     }
  228.     m++;
  229.   }
  230.  
  231.  
  232.   //case pions noirs  
  233.   m=0;
  234.   for(i=6;i<10;i++){
  235.     for(j=0;j<10;j++){
  236.       if(j%2!=1-(m%2)){
  237.         tab[i][j]='N';
  238.       }
  239.       else{
  240.         tab[i][j]='#';
  241.       }
  242.     }
  243.     m++;
  244.   }
  245.   return tab;
  246. }
  247. /*********************************FIN INIT*************************************/
  248. int main()
  249. {
  250.   char**jeu;
  251.   short jeu1,jeu2,jeu3,jeu4,jeu5,jeu6,jeu7,jeu8;
  252.   jeu1=tour0();
  253.   jeu=initTab();
  254.   jeu2=compten(jeu);
  255.   jeu3=compteb(jeu);
  256.   affichage(jeu,jeu2,jeu3);
  257.   while(jeu2!=0&&jeu3!=0){
  258.     if(jeu1%2==0)printf("Joueur Blanc\n" );
  259.     else printf("Joueur Noir\n" );
  260.     jeu4=demandeletr();
  261.     jeu5=demandechi();
  262.     jeu6=erreurpion(jeu,jeu4,jeu5,jeu1);
  263.     while(jeu6!=0){
  264.       jeu4=demandeletr();
  265.       jeu5=demandechi();
  266.       jeu6=erreurpion(jeu,jeu4,jeu5,jeu1);}
  267.     jeu=Deplace(jeu,jeu4,jeu5);
  268.     jeu7=demaceletr();
  269.     jeu8=demacechi();
  270.     jeu6=erreurdeplac(jeu,jeu7,jeu8);
  271.     while(jeu6!=0){
  272.       jeu4=demaceletr();
  273.       jeu5=demacechi();
  274.       jeu6=erreurdeplac(jeu,jeu7,jeu8);}
  275.     jeu1=tour(jeu1);
  276.     jeu=Deplace2(jeu,jeu7,jeu8);
  277.     jeu2=compten(jeu);jeu3=compteb(jeu);
  278.     affichage(jeu,jeu2,jeu3);
  279.   }
  280.   return 0;
  281. }


Message édité par Tarabiscote le 23-05-2005 à 18:14:37
Reply

Marsh Posté le 23-05-2005 à 21:04:07    

hub le switch a écrit :


j'ai un projet à faire, c'est un jeu de dames  


En reprenant le code de Tarabiscote, j'obtiens ceci:


main.c:23: warning: unused parameter `nnr'
 
main.c:23: warning: unused parameter `nbr'
 
main.c: In function `demandeletr':
main.c:168: warning: `lettrif' might be used uninitialized in this function
 
main.c: In function `demaceletr':
main.c:199: warning: `lettrif2' might be used uninitialized in this function


Les deux derniers problèmes peuvent entrainer des comportements indéfinis...
 
Voilà ton code remanié. J'ai beaucoup travaillé sur le nommage (le tien était ... innomable) et la sécurité des saisies. J'ai aussi simplifié pas mal de choses (pas la peine d'allouer un tableau de taille fixe).
 
Pose des questions si tu ne comprends pas.


#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
#define TAY 10
#define TAY2 2
 
 
/* saisies solides (service minimum) */
static void get_s (char *s, size_t size)
{
   fgets (s, size, stdin);
   {
      /* chercher le '\n' */
      char *p = strchr (s, '\n');
 
      if (p != NULL)
      {
         /* si on l'a trouve, on l'elimine. */
         *p = 0;
      }
      else
      {
         /* Le traitement depend de l'application.
          * Par exemple, ici, on choisi d'ignorer
          * les autres caracteres.
          */
 
         /* sinon, on lit tous les caracteres restants */
         int c;
 
         while ((c = fgetc (stdin)) != '\n' && c != EOF)
         {
         }
      }
   }
}
 
static int get_c (void)
{
   char s[3];
   get_s (s, sizeof s);
   return s[0];
}
 
static int get_i (void)
{
   char s[16];
   get_s (s, sizeof s);
   return strtol (s, NULL, 10);
}
 
/*traçage du tableau */
void affichage (char tab[TAY][TAY], int nb_noirs, int nb_blancs)
{
   int i, k, numligne, numcol;
 
   int l = 0;
   int m = 0;
 
 
   //titre
   for (i = 0; i < 27; i++)
   {
      printf ("*#" );
   }
   for (i = 0; i < 10; i++)
   {
      printf ("*#" );
   }
   printf (" JEU DE DAME" );
   for (i = 0; i < 10; i++)
   {
      printf ("*#" );
   }
   printf ("\n" );
   for (i = 0; i < 27; i++)
   {
      printf ("*#" );
   }
   printf ("*\n\n\n" );
 
 
   //rephre colonne
   printf ("  1  2  3  4  5  6  7  8  9  10\n" );
 
   //ligne horizontale haut
   printf ("  " );
   for (i = 0; i < 50; i++)
   {
      printf ("_" );
   }
   printf ("\n" );
 
   for (numligne = 0; numligne < 10; numligne++)
   {
      //la case noirte
      if (m % 2 == 0)
      {
 
         for (k = 0; k < 3; k++)
         {
            //rephre ligne
            if (k == 0 || k == 2)
               printf ("|" );
            else if (m == 0)
               printf ("A|" );
            else if (m == 2)
               printf ("C|" );
            else if (m == 4)
               printf ("E|" );
            else if (m == 6)
               printf ("G|" );
            else if (m == 8)
               printf ("I|" );
 
            for (numcol = 0; numcol < 10; numcol++)
            {
               //la fameuse case noirte
               if (l % 2 != 1)
               {
                  if (k == 1)
                  {
                     printf ("%c", tab[numligne][numcol]);
                  }
                  else
                  {
                     printf (" " );
                  }
                  l++;
               }
 
               //et la case blanche
               else
               {
                  printf ("###" );
                  l++;
               }
            }
 
            printf ("|\n" );
         }
         m++;
      }
 
      //ligne horizontale bas
      printf (" " );
      for (i = 0; i < 50; i++)
      {
         printf ("-" );
      }
      //rephre colonne
      printf ("\n  1  2  3  4  5  6  7  8  9  10\n" );
      printf ("\n\n\n\n" );
 
 
      //clearage du tableau
      for (i = 0; i < 10; i++)
      {
         for (k = 0; k < 10; k++)
         {
            printf ("%c", tab[i][k]);
         }
         printf ("\n" );
      }
 
      printf ("\n\n\n" );
   }
}
 
///////////////// fin affichagte
 
/// nombre de pion restant
 
int compten (char tab[TAY][TAY])
{
   int nnr, i, k;
 
   nnr = 0;
 
   //calcul nombre de pions noirs restants
 
   for (i = 0; i < 10; i++)
   {
      for (k = 0; k < 10; k++)
      {
         if (tab[i][k] == 'N')
         {
            nnr++;
         }
      }
   }
 
   return nnr;
}
 
////////////////////////////
int compteb (char tab[TAY][TAY])
{
   int i, k;
 
   int nbr = 0;
 
   //calcul nombre de pions blancs restants
   for (i = 0; i < 10; i++)
   {
      for (k = 0; k < 10; k++)
      {
         if (tab[i][k] == 'B')
         {
            nbr++;
         }
      }
   }
 
   return nbr;
 
}
 
static int lettre2num (int lettre)
{
   int num = -1;
   char lettres[] = "ABCDEFGHIJ";
 
   char *p = strchr (lettres, lettre);
 
   if (p != NULL)
   {
      num = (int) (p - lettres);
   }
   return num;
}
 
/**************************fin compte***********************/
 
/////////////////////demande deplacement////////////
 
int demandeletr (char const *prompt, char const *serr)
{
   int lettre;
 
   printf ("%s %s: ", prompt, serr);
   fflush (stdout);
   lettre = get_c ();
 
   return lettre2num (lettre);
}
 
/////////////////////
int demandechi (void)
{
   int chiffre;
 
   printf (" ,chiffre:" );
   chiffre = get_i ();
 
   return chiffre - 1;
}
 
 
/**************************fin demande*****************************************/
 
///////////////////////deplacement///////////////
//////////supprim
 
void Retire (char tab[TAY][TAY], int lettrif, int chiffre)
{
   tab[lettrif][chiffre] = ' ';
 
}
 
///APPARITION PION///////////
void Place (char tab[TAY][TAY], int lettrif2, int chiffre2)
{
   tab[lettrif2][chiffre2] = 'X';
}
/******************************FIN DEPLACE*************************************/
 
////////////////////A QUI LE TOUR ?////////////////////////////
int tour0 ()
{
   return 0;
}
///////////////////
int tour (int turn)
{
   return !turn;
}
 
/******************************************************************************/
 
///////////////////////ERREUR PION//////////////////////////////////////////////
 
int erreurpion (char tab[TAY][TAY], int lettrif, int chiffre, int turn)
{
 
   if (turn == 0 && tab[lettrif][chiffre] != 'B')
   {
      printf ("\nERREUR DE PION !Vous devez choisir un pion blanc.\n" );
      return 1;
   }
   else if (turn == 1 && tab[lettrif][chiffre] != 'N')
   {
      printf ("\nERREUR DE PION ! Vous devez choisir un pion noir.\n" );
      return 1;
   }
   else
      return 0;
}
 
/******************************************************************************/
 
////////////////////////////ERREUR DE DEPLACEMENT///////////////////////////////
 
int erreurdeplac (char tab[TAY][TAY], int lettrif2, int chiffre2)
{
 
   if (tab[lettrif2][chiffre2] != ' ')
   {
      printf ("ERREUR DESTINATION !Vous devez choisir une case vide.\n" );
      return 1;
   }
   else
   {
      return 0;
   }
}
 
/******************************************************************************/
 
///////////////////////////INITIALISATION TABLEAU///////////////////////////////
void initTab (char tab[TAY][TAY])
{
   int i, j, m;
 
   //case pions blancs
   m = 0;
   for (i = 0; i < 4; i++)
   {
      for (j = 0; j < 10; j++)
      {
         if (j % 2 != 1 - (m % 2))
         {
            tab[i][j] = 'B';
         }
         else
         {
            tab[i][j] = '#';
         }
      }
      m++;
   }
 
   //case vierges
   for (i = 4; i < 6; i++)
   {
      for (j = 0; j < 10; j++)
      {
         if (j % 2 != 1 - (m % 2))
         {
            tab[i][j] = ' ';
         }
         else
         {
            tab[i][j] = '#';
         }
      }
      m++;
   }
 
 
   //case pions noirs
   m = 0;
   for (i = 6; i < 10; i++)
   {
      for (j = 0; j < 10; j++)
      {
         if (j % 2 != 1 - (m % 2))
         {
            tab[i][j] = 'N';
         }
         else
         {
            tab[i][j] = '#';
         }
      }
      m++;
   }
}
 
/*********************************FIN INIT*************************************/
 
int main (void)
{
 
   char jeu[TAY][TAY];
 
 
   initTab (jeu);
   int nb_noirs = compten (jeu);
   int nb_blancs = compteb (jeu);
   int joueur = tour0 ();
 
   affichage (jeu, nb_noirs, nb_blancs);
   while (nb_noirs != 0 && nb_blancs != 0)
   {
      if (joueur % 2 == 0)
      {
         printf ("Joueur Blanc\n" );
      }
      else
      {
         printf ("Joueur Noir\n" );
      }
 
      /* from */
      {
         int err = 0;
         int ori_l, ori_n;
         do
         {
            do
            {
               ori_l = demandeletr ("Choisir le pion, lettre", err ? "*ERR*\n" : "" );
            }
            while (ori_l == -1);
 
            do
            {
               ori_n = demandechi ();
            }
            while (ori_n == -1);
 
            err = erreurpion (jeu, ori_l, ori_n, joueur);
         }
         while (err);
 
         Retire (jeu, ori_l, ori_n);
      }
 
      /* to */
      {
         int err = 0;
         int des_l, des_n;
         do
         {
            do
            {
               des_l = demandeletr ("Where to go, lettre", err ? "*ERR*\n" : "" );
            }
            while (des_l == -1);
 
            do
            {
               des_n = demandechi ();
            }
            while (des_n == -1);
 
            err = erreurdeplac (jeu, des_l, des_n);
         }
         while (err);
 
         Place (jeu, des_l, des_n);
      }
 
      joueur = tour (joueur);
      nb_noirs = compten (jeu);
      nb_blancs = compteb (jeu);
      affichage (jeu, nb_noirs, nb_blancs);
   }
   return 0;
}


Message édité par Emmanuel Delahaye le 23-05-2005 à 22:14:05

---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed