1 utilisateur anonyme et 10 utilisateurs inconnus

 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C] : Puissance 4 fini ^^

n°1943
C4H8O3
Posté le 20-02-2004 à 21:42:12  profilanswer
 

Voir dernier post ^^
 
mici au peuple qui m'a aidé ^^


Message édité par C4H8O3 le 09-03-2004 à 09:35:42

---------------
Aqua Paris
mood
Google
Posté le 20-02-2004 à 21:42:12  profilanswer
 

n°1944
C4H8O3
Posté le 20-02-2004 à 21:43:03  profilanswer
 

Voila le code totalement ^^ (Puissance 4 inside)
 
merci d'avance pour votre aide
 

Code :
  1. // Puissance 4
  2. // 7 colonnes et 7 lignes
  3. /* Le but de ce jeu est d'aligner 4 pions !, verticalement, horizontalement,
  4.    ou oblique
  5. */
  6. // Déclaration des contanstes !
  7. #define taille 7
  8. // Déclaration des bibliotheques
  9. #include <stdio.h>
  10. #include <conio.h>
  11. #include <stdlib.h>
  12. #include <alloc.h>
  13. // Declaration des prototypes
  14. void affiche(int vecteur_puissance[][taille], int n);
  15. void matrice_zero(int vecteur_puissance[][taille]);
  16. int coup_permis (int i, int j, int vecteur_puissance[][taille]);
  17. int joueur_gagnant(int vecteur_puissance[][taille])   ;
  18. int coup_gagnant (int vp[][taille], int coup_joueur);
  19. void place_pion (int vp[][taille],int coup_joueur, int col) ;
  20. int  matrice_fin(int vp[][taille]);
  21. void main (void)
  22. { // Debut de main
  23. // Declaration des variables locales
  24.   int puissance_4[taille][taille];
  25.   int coup_joueur, col;
  26.   int tour_joueur=0;
  27. // **************************************************
  28.  matrice_zero(puissance_4); // Initialisation à zéro
  29.    /*
  30.       Il y aura 49 coups possibles, on va faire alterner, les valeurs 1 et 2
  31.       ceux qui permettra aux joueurs de jouer chacun leur tour
  32.    */
  33.        do
  34.       {  clrscr();    // Efface l'écran
  35.       // On joue ^^
  36.    if(tour_joueur%2==0)coup_joueur=1;   // Tour du joueur 1 ?
  37.    if(tour_joueur%2==1)coup_joueur=2;   // Tour du joueur 2 ?
  38.     tour_joueur = tour_joueur +1;   // Alterne les joueurs
  39.    // Debut du jeu
  40.       printf("Joueur %d\n", coup_joueur);
  41.       affiche(puissance_4,taille);
  42.       printf("\nChoississez une colonne entre 0 et 6\n" );
  43.       scanf("%d",&col);
  44.       place_pion (puissance_4,coup_joueur,col);
  45.     // On test si qq'un gagne ^^
  46.     if (coup_gagnant (puissance_4, coup_joueur)!=0)
  47.       {   clrscr() ;
  48.           printf ("VainqueUr : Joueur %d", coup_joueur);
  49.             affiche(puissance_4,taille);
  50.             break;
  51.          }
  52.       } while (matrice_fin(puissance_4) !=taille*taille);
  53.       printf("Pas de Puissance 4 fait ^^" );
  54. } // Fin de main
  55.       /* Liste des prototypes */
  56. // Prototype : Iniatilisation de la matrice du puissance 4
  57. void matrice_zero(int vecteur_puissance[][taille])
  58. {
  59.    int i,j;
  60.     for (i=0;i<taille;i++)
  61.        { for (j=0;j<taille;j++)
  62.           {
  63.          (vecteur_puissance[i][j]=0);
  64.        }    }
  65. } // Fin du PIDLMDP4
  66. // Prototype : Affiche la matrice du puissance 4
  67. void affiche(int vecteur_puissance[][taille], int n)
  68. {
  69.     int i,j ;
  70.       printf("\n  0  1  2  3  4  5  6\n" );
  71.       for (i=0;i<n;i++)
  72.         { printf("\n%d",i);
  73.          for (j=0;j<n;j++)
  74.           {
  75.          printf("%2d ",vecteur_puissance[i][j]);
  76.             }
  77.        }
  78. } // Fin du prototype  : Affiche la matrice du puissance 4
  79. // Prototype : Test si le coup est permis
  80. int coup_permis (int i, int j, int vecteur_puissance[][taille])
  81. {
  82.  if ( vecteur_puissance[i][j] == 0 ) return 0 ;
  83.       else return 1 ;
  84. } // FIN PTSLCEP
  85. // Prototype : Coup gagnant.
  86. int coup_gagnant (int vp[][taille], int coup_joueur )
  87. {
  88.     int i,j;
  89.          /*
  90.           On test les lignes pour savoir si il y a un "puissance 4"
  91.                Si c'est le cas, la fonction retourne la valeur 1
  92.                et Mets la valeur 4 aux cases concernés
  93.          */
  94.   for (i=taille-1;i>0;i--)
  95.           {
  96.               for (j=0;j<taille-3;j++)
  97.                {
  98. if(vp[i][j]== vp[i][j+1] && vp[i][j+1]== vp[i][j+2] && vp[i][j+2] == vp[i][j+3] && vp[i][j+3] == coup_joueur
  99. )
  100. {  vp[i][j] = 4 ;
  101.     vp[i][j+1] = 4 ;
  102.     vp[i][j+2] = 4 ;
  103.     vp[i][j+3] = 4 ;
  104.       return coup_joueur ;
  105. } // fin si
  106.        }
  107.       }
  108.      /*
  109.           On test les colonnes pour savoir si il y a un "puissance 4"
  110.                Si c'est le cas, la fonction retourne la valeur 1
  111.                et Mets la valeur 4 aux cases concernés
  112.          */
  113.       for (j=0;j<taille;j++)
  114.           {
  115.               for (i=taille-1;i>0;i--)
  116.                {
  117. if(vp[i][j] == vp[i-1][j]&& vp[i-1][j] == vp[i-2][j] && vp[i-2][j]== vp[i-3][j] && vp[i-3][j] == coup_joueur )
  118. {
  119.     vp[i][j] = 4;
  120.     vp[i-1][j] = 4;
  121.     vp[i-2][j] = 4;
  122.     vp[i-3][j] = 4;
  123.  return coup_joueur;   }    //fin si
  124.                                                          
  125.        }
  126.       }
  127.       /*
  128.         On va verifier maintenant la diagonale orientée "Nord - Est"
  129.       */
  130.     for (i=taille-1; i>taille-3;i--)
  131.      { for (j=0; j < taille-3;j++)
  132.        {
  133. if (vp[i][j] == vp[i-1][j+1] && vp[i-1][j+1] == vp[i-2][j+2] && vp[i-2][j+2] == vp[i-3][j+3] &&
  134. vp[i-3][j+3]== coup_joueur)
  135.  {   vp[i][j] = 4;
  136.           vp[i-1][j+1] = 4;
  137.           vp[i-2][j+2] = 4;
  138.           vp[i-3][j+3] = 4;
  139.          return coup_joueur;}
  140.     }}
  141.       /*
  142.         On va verifier maintenant la diagonale orientée "Sud - Est"
  143.       */
  144.     for (i=taille-1; i>taille-3;i--)
  145.      { for (j=taille-4; j < taille;j++)
  146.        {
  147. if (vp[i][j] == vp[i-1][j-1] && vp[i-1][j-1] == vp[i-2][j-2] && vp[i-2][j-2] == vp[i-3][j-3] && vp[i-3][j-3]==
  148. coup_joueur)
  149.  {   vp[i][j] = 4;
  150.           vp[i-1][j-1] = 4;
  151.           vp[i-2][j-2] = 4;
  152.           vp[i-3][j-3] = 4;
  153.          return coup_joueur;}
  154.     }}
  155. return 0;
  156.    } // FIN PCG
  157. // Fonction : placer le pion dans la colonne
  158. void place_pion (int vp[][taille],int coup_joueur, int col)
  159. {   int ligne_temp,n;
  160.        ligne_temp = taille-1;
  161.        n=0;
  162.    do
  163.       {
  164.     if (vp[ligne_temp][col]==0)
  165.        {
  166.        vp[ligne_temp][col]=coup_joueur;
  167.        n=1;
  168.        }
  169.      else  ligne_temp = ligne_temp-1;
  170.    }  while (n==0);
  171. }   // fin PLPDLC
  172. // Fonction : test si la matrice est complete
  173. int matrice_fin(int vp[][taille])
  174.    { int test=0,i,j;
  175. for (i=taille-1;i>(-1);i--)
  176.           {
  177.               for (j=0;j<taille;j++)
  178.                {
  179.           if (vp[i][j] !=0) test=test+1;
  180.         }}
  181.    return test;
  182. }


---------------
Aqua Paris
n°1945
KnX
To be or not to code.
Posté le 20-02-2004 à 21:46:07  profilanswer
 

[hs]
tient c'est un peu pas trop complexe ca, ca sré bien si je fesais ca pour (re)-apprendre a coder  
[/hs]


---------------
/!\ KnX's bash NP : Norah Jones - Don't Miss You At All /!\
n°1946
C4H8O3
Posté le 20-02-2004 à 22:09:34  profilanswer
 

j'apprend tout court mwa
 
le probleme c juste cette verif grr
çà m'a l'air bon pourtant :,(


---------------
Aqua Paris
n°1947
nicodache
marmotte en chocolat concept ©
Posté le 20-02-2004 à 22:09:49  profilanswer
 

ca fait quoi, et c'est sensé faire quoi ?


---------------
modérateur inside [:nicodache] plankaivoo [:nicodache] - ici powered - Je roule en micra 1l 55cv et je t'emmerde :o
n°1948
C4H8O3
Posté le 20-02-2004 à 22:27:45  profilanswer
 

Verifie  qu'il y a 4 "1" ou 4 "2" alignés en oblique (/ ou \)
 
les test marchent dans la partie jaune
 
 
çà ne marche pas si il y au moins un "1" ou"2" dans la partie verte
 
http://c4h8o3.free.fr/pui4.jpg
 
 
ceux qui deconnent :,(  
 

Code :
  1. /*  
  2.             On va verifier maintenant la diagonale orientée "Nord - Est"  
  3.           */
  4.    
  5.         for (i=taille-1; i>taille-3;i--)
  6.          { for (j=0; j < taille-3;j++)
  7.              {
  8.        
  9.         if (vp[i][j] == vp[i-1][j+1] && vp[i-1][j+1] == vp[i-2][j+2] && vp[i-2][j+2] == vp[i-3][j+3] && 
  10.          
  11.         vp[i-3][j+3]== coup_joueur)
  12.           {   vp[i][j] = 4;
  13.                     vp[i-1][j+1] = 4;
  14.                     vp[i-2][j+2] = 4;
  15.                     vp[i-3][j+3] = 4;
  16.          
  17.                  return coup_joueur;}
  18.        
  19.        
  20.           }}
  21.      
  22.             /*  
  23.               On va verifier maintenant la diagonale orientée "Sud - Est"  
  24.             */
  25.      
  26.           for (i=taille-1; i>taille-3;i--)
  27.            { for (j=taille-4; j < taille;j++)
  28.                {
  29.          
  30.           if (vp[i][j] == vp[i-1][j-1] && vp[i-1][j-1] == vp[i-2][j-2] && vp[i-2][j-2] == vp[i-3][j-3] && vp[i-3][j-3]== 
  31.            
  32.           coup_joueur)
  33.             {   vp[i][j] = 4;
  34.                       vp[i-1][j-1] = 4;
  35.                       vp[i-2][j-2] = 4;
  36.                       vp[i-3][j-3] = 4;
  37.            
  38.                    return coup_joueur;}
  39.          
  40.          
  41.             }}


Message édité par C4H8O3 le 20-02-2004 à 22:34:41

---------------
Aqua Paris
n°1949
nicodache
marmotte en chocolat concept ©
Posté le 20-02-2004 à 22:33:44  profilanswer
 

tu nous fait un puissance 4 ? :D
 
[edit]tieng, c'est marqué dans les commentaires... la prochaineme fois,je lirai avant de l'ouvrir :D
 
[edit2]je dis ca, je dis rien, mais ca serait pas une idée kelle pourrait bien aller de vérifier les puissances 4 par étoile ?
tu prend un piont, et tu regarde dans les 8 directions, pour 4 points.
quand tu trouves, tu les met a 0, et tu continue ta recherche ;)


Message édité par nicodache le 20-02-2004 à 22:36:12

---------------
modérateur inside [:nicodache] plankaivoo [:nicodache] - ici powered - Je roule en micra 1l 55cv et je t'emmerde :o
n°1950
C4H8O3
Posté le 20-02-2004 à 22:37:47  profilanswer
 

bah oui dans mon grand ennui d'étudiant... je m'occupe ^^


---------------
Aqua Paris
n°1951
C4H8O3
Posté le 20-02-2004 à 22:53:41  profilanswer
 

bah g pensé a ce type de recherche
mais bon, le puissance 4... on a dit le plus simple possible
donc voilà, pi g pas trop d'idée pour ce type de recherche


---------------
Aqua Paris
n°1952
KnX
To be or not to code.
Posté le 20-02-2004 à 23:06:46  profilanswer
 

au niveau de tes test, pour savoir si 4 cases sont de la même couleurs, suffit de voir si la somme des 4 ( a valeur 1 ou 2 ) est un multiple de 4 ;)


---------------
/!\ KnX's bash NP : Norah Jones - Don't Miss You At All /!\
n°1953
C4H8O3
Posté le 20-02-2004 à 23:13:12  profilanswer
 

bah c pas le probleme
c pas une histoire de couleur, c'était pour différencier les zones où çà marche ou pas.


---------------
Aqua Paris
n°1954
KnX
To be or not to code.
Posté le 20-02-2004 à 23:14:05  profilanswer
 

oui, ct juste question optimisation, enfin juste une idée en l'air surtout, mais je reflechis sur comment traiter ton pb ;)


---------------
/!\ KnX's bash NP : Norah Jones - Don't Miss You At All /!\
n°1955
CryoGen
Powered by kitkat©
Posté le 20-02-2004 à 23:31:14  profilanswer
 

On doit mettre les define en MAJUSCULE :o  
#define TAILLE 7  
:D
 
Je m'attelle à ton probleme :)


---------------
I am the bone of my sword...
n°1956
CryoGen
Powered by kitkat©
Posté le 20-02-2004 à 23:35:05  profilanswer
 

dans les for() faudrais pas plutot mettre <= et >= ??


---------------
I am the bone of my sword...
n°1958
C4H8O3
Posté le 21-02-2004 à 09:54:58  profilanswer
 

au, bah non
vu que en a chaque fois g mis un +1 au for
 
for (i=0; i<3;i++) même chose que  for (i=0;i<=2;i++)
 
non ?


---------------
Aqua Paris
n°1960
CryoGen
Powered by kitkat©
Posté le 21-02-2004 à 13:00:14  profilanswer
 

La boucle s'arrette et ne permet pas de tester la case [0][4] dans le test nord-est
 
Je peux me tromper , je vais coder pour voir lol


---------------
I am the bone of my sword...
n°1962
CryoGen
Powered by kitkat©
Posté le 21-02-2004 à 13:14:13  profilanswer
 

Voial j'ai coder un ptit truc @2€ :D
Test nord - est

Code :
  1. #include <stdio.h>
  2. #define taille 7
  3. int main(int argc, char** argv)
  4. {
  5. int i,j;
  6. for (i=taille-1; i>=taille-4;i--)
  7. {
  8. for (j=0; j < taille-3;j++) 
  9.         {
  10.  printf("[%d][%d] [%d][%d] [%d][%d] [%d][%d]\n",i,j,i-1,j+1,i-2,j+2,i-3,j+3);
  11. }
  12.                
  13.              
  14. }


 
Ca affiche la trace de la boucle
Là j'ai modifier les for et ca marche bien ;)


Message édité par CryoGen le 21-02-2004 à 13:15:49

---------------
I am the bone of my sword...
n°1966
C4H8O3
Posté le 21-02-2004 à 15:57:26  profilanswer
 

ok je vais essayer çà !
mici


---------------
Aqua Paris
n°1997
C4H8O3
Posté le 22-02-2004 à 12:57:10  profilanswer
 

CryoGen a écrit :

Voial j'ai coder un ptit truc @2€ :D
Test nord - est

Code :
  1. #include <stdio.h>
  2. #define taille 7
  3. int main(int argc, char** argv)
  4. {
  5. int i,j;
  6. for (i=taille-1; i>=taille-4;i--)
  7. {
  8. for (j=0; j < taille-3;j++) 
  9.         {
  10.  printf("[%d][%d] [%d][%d] [%d][%d] [%d][%d]\n",i,j,i-1,j+1,i-2,j+2,i-3,j+3);
  11. }
  12.                
  13.              
  14. }


 
Ca affiche la trace de la boucle
Là j'ai modifier les for et ca marche bien ;)


 
 
ah bah oui çà marche ^^
mici
 
juste pour un >= quelle haine


---------------
Aqua Paris
n°1998
C4H8O3
Posté le 22-02-2004 à 14:26:18  profilanswer
 

Code :
  1. // Puissance 4 V3
  2. // 7 colonnes et 7 lignes
  3. /* Le but de ce jeu est d'aligner 4 pions !, verticalement, horizontalement, ou en diagonale
  4. */
  5. // Déclaration des contanstes !
  6. #define taille 7
  7. // Déclaration des bibliotheques
  8. #include <stdio.h>
  9. #include <conio.h>
  10. #include <stdlib.h>
  11. #include <alloc.h>
  12. // Declaration des prototypes
  13. void affiche(int vecteur_puissance[][taille], int n);
  14. void matrice_zero(int vecteur_puissance[][taille]);
  15. int coup_permis (int i, int j, int vecteur_puissance[][taille]);
  16. int joueur_gagnant(int vecteur_puissance[][taille])   ;
  17. int coup_gagnant (int vp[][taille], int coup_joueur);
  18. void place_pion (int vp[][taille],int coup_joueur, int col) ;
  19. int  matrice_fin(int vp[][taille]);
  20. void main (void)
  21. { // Debut de main
  22. // Declaration des variables locales
  23.   int puissance_4[taille][taille];
  24.   int coup_joueur, col;
  25.   int tour_joueur=0;
  26. // **************************************************
  27.  matrice_zero(puissance_4); // Initialisation à zéro
  28.    /*
  29.       Il y aura 49 coups possibles, on va faire alterner, les valeurs 1 et 2
  30.       ceux qui permettra aux joueurs de jouer chacun leur tour
  31.       On va boucler 49 fois grace a une boucle Do {..} while(condition).
  32.    */
  33.        do // Boucle Principale
  34.      
  35.       {  clrscr();    // Efface l'écran
  36.       // On joue ^^
  37.    if(tour_joueur%2==0)coup_joueur=1;   // Tour du joueur 1 ?
  38.    if(tour_joueur%2==1)coup_joueur=2;   // Tour du joueur 2 ?
  39.     tour_joueur = tour_joueur +1;   // Alterne les joueurs
  40.    // Debut du jeu
  41.       printf("Joueur %d\n", coup_joueur);
  42.       affiche(puissance_4,taille);
  43.       printf("\nChoisissez une colonne entre 0 et 6\n" );
  44.       scanf("%d",&col);
  45.       /*  Test 1
  46.        On verifie que le joueur a donné un bon numéro de colonne
  47.          Si le joueur fait un mauvais choix, on lui redemande un numéro
  48.          tant que le numéro (col) ne reste pas la condition 0<=col<=6
  49.       */
  50.       if (col < 0 || col > 6 )
  51.        {
  52.           while (col < 0 || col > 6)
  53.              {
  54.                 printf("Erreur Choix de colonne entre 0 et 6 seulement : " );
  55.                    scanf("%d",&col);
  56.                }
  57.          } // Fin de Test 1
  58.      /*  Test 2
  59.       On verifie que la colonne choisie par le joueur n'est pas pleine
  60.       Si la colonne est pleine, on demande au joueur de choisir une
  61.       colonne non pleine. Tant que le joueur choisi une colonne pleine
  62.       cette question lui est posé !.
  63.      */
  64.        if (puissance_4[0][col] !=0)
  65.         {   while (puissance_4[0][col] !=0)
  66.            {
  67.            printf ("Erreur la colonne %d est pleine\n",col);
  68.             printf ("Choisissez une autre colonne : " );
  69.             scanf("%d",&col);
  70.            }
  71.          } // Fin de Test 2
  72.       /*
  73.          Une fois les deux tests (1 et 2) passés on place le pion.
  74.       */
  75.       place_pion (puissance_4,coup_joueur,col);
  76.      /* Test 3
  77.        A chaque pion posé, on verifie si ce n'est pas un coup gagant
  78.          Si c'est le cas, on affiche le coup gagant par quatre 4 et
  79.          le numéro du joueur qui a gagné et on quitte le P4
  80.      */
  81.     if (coup_gagnant (puissance_4, coup_joueur)!=0)
  82.       {   clrscr() ;
  83.           printf ("VainqueUr : Joueur %d", coup_joueur);
  84.             affiche(puissance_4,taille);
  85.             break; // Casse la boucle principale Do
  86.          }
  87.       } while (matrice_fin(puissance_4) !=taille*taille);
  88.       // Si il n'y a pas de puissance 4 fait au bout des 49 coups
  89.       // On l'affiche
  90.       if (matrice_fin(puissance_4)==taille*taille)
  91.         { printf("Pas de Puissance 4 fait ^^" ); }
  92. } // Fin de main
  93. //******************************************************************************
  94. //******************************************************************************
  95. //******************************************************************************
  96.       /* Liste des prototypes */
  97. // Prototype : Iniatilisation de la matrice du puissance 4
  98. void matrice_zero(int vecteur_puissance[][taille])
  99. {
  100.    int i,j;
  101.     for (i=0;i<taille;i++)
  102.        { for (j=0;j<taille;j++)
  103.           {
  104.          (vecteur_puissance[i][j]=0);
  105.        }    }
  106. } // Fin du PIDLMDP4
  107. //******************************************************************************
  108. //******************************************************************************
  109. // Prototype : Affiche la matrice du puissance 4
  110. void affiche(int vecteur_puissance[][taille], int n)
  111. {
  112.     int i,j ;
  113.       printf("\n  0  1  2  3  4  5  6\n" );
  114.       for (i=0;i<n;i++)
  115.         { printf("\n%d",i);
  116.          for (j=0;j<n;j++)
  117.           {
  118.          printf("%2d ",vecteur_puissance[i][j]);
  119.             }
  120.        }
  121. } // Fin du prototype  : Affiche la matrice du puissance 4
  122. //******************************************************************************
  123. //******************************************************************************
  124. // Prototype : Test si le coup est permis
  125. int coup_permis (int i, int j, int vecteur_puissance[][taille])
  126. {
  127.  if ( vecteur_puissance[i][j] == 0 ) return 0 ;
  128.       else return 1 ;
  129. } // FIN PTSLCEP
  130. //******************************************************************************
  131. //******************************************************************************
  132. // Prototype : Coup gagnant.
  133. int coup_gagnant (int vp[][taille], int coup_joueur )
  134. {
  135.     int i,j;
  136.          /*
  137.           On test les lignes pour savoir si il y a un "puissance 4"
  138.                Si c'est le cas, la fonction retourne la valeur 1
  139.                et Mets la valeur 4 aux cases concernés
  140.          */
  141.   for (i=taille-1;i>0;i--)
  142.           {
  143.               for (j=0;j<taille-3;j++)
  144.                {
  145. if(vp[i][j]== vp[i][j+1] && vp[i][j+1]== vp[i][j+2] && vp[i][j+2] == vp[i][j+3] && vp[i][j+3] == coup_joueur )
  146. {  vp[i][j] = 4 ;
  147.     vp[i][j+1] = 4 ;
  148.     vp[i][j+2] = 4 ;
  149.     vp[i][j+3] = 4 ;
  150.       return coup_joueur ;
  151. } // fin si
  152.        }
  153.       }
  154.      /*
  155.           On test toute les colonnes pour savoir si il y a un "puissance 4"
  156.                Si c'est le cas, la fonction retourne la valeur 1
  157.                et Mets la valeur 4 aux cases concernés
  158.          */
  159.       for (j=0;j<taille;j++)
  160.           {
  161.               for (i=taille-1;i>0;i--)
  162.                {
  163. if(vp[i][j] == vp[i-1][j]&& vp[i-1][j] == vp[i-2][j] && vp[i-2][j]== vp[i-3][j] && vp[i-3][j] == coup_joueur )
  164. {
  165.     vp[i][j] = 4;
  166.     vp[i-1][j] = 4;
  167.     vp[i-2][j] = 4;
  168.     vp[i-3][j] = 4;
  169.  return coup_joueur;   }    //fin si
  170.                                                          
  171.        }
  172.       }
  173.       /*
  174.         On va verifier maintenant la diagonale orientée "Nord - Est"
  175.       */
  176.     for (i=taille-1; i>=taille-4;i--)
  177.      { for (j=0; j < taille-3;j++)
  178.        {
  179. if (vp[i][j] == vp[i-1][j+1] && vp[i-1][j+1] == vp[i-2][j+2] && vp[i-2][j+2] == vp[i-3][j+3] && vp[i-3][j+3]== coup_joueur)
  180.  {   vp[i][j] = 4;
  181.           vp[i-1][j+1] = 4;
  182.           vp[i-2][j+2] = 4;
  183.           vp[i-3][j+3] = 4;
  184.          return coup_joueur;}
  185.     }}
  186.       /*
  187.         On va verifier maintenant la diagonale orientée "Sud - Est"
  188.       */
  189.     for (i=taille-1; i>=taille-4;i--)
  190.      { for (j=taille-1; j >= taille-4;j--)
  191.        {
  192. if (vp[i][j] == vp[i-1][j-1] && vp[i-1][j-1] == vp[i-2][j-2] && vp[i-2][j-2] == vp[i-3][j-3] && vp[i-3][j-3]== coup_joueur)
  193.  {   vp[i][j] = 4;
  194.           vp[i-1][j-1] = 4;
  195.           vp[i-2][j-2] = 4;
  196.           vp[i-3][j-3] = 4;
  197.          return coup_joueur;}
  198.     }}
  199. return 0;
  200.    } // FIN PCG
  201. //******************************************************************************
  202. //******************************************************************************
  203. // Fonction : placer le pion dans la colonne
  204. void place_pion (int vp[][taille],int coup_joueur, int col)
  205. {   int ligne_temp,n;
  206.        ligne_temp = taille-1;
  207.        n=0;
  208.    do
  209.       {
  210.     if (vp[ligne_temp][col]==0)
  211.        {
  212.        vp[ligne_temp][col]=coup_joueur;
  213.        n=1;
  214.        }
  215.      else  ligne_temp = ligne_temp-1;
  216.    }  while (n==0);
  217. }   // fin PLPDLC
  218. //******************************************************************************
  219. //******************************************************************************
  220. // Fonction : test si la matrice est complete
  221. int matrice_fin(int vp[][taille])
  222.    { int test=0,i,j;
  223. for (i=taille-1;i>(-1);i--)
  224.           {
  225.               for (j=0;j<taille;j++)
  226.                {
  227.           if (vp[i][j] !=0) test=test+1;
  228.         }}
  229.    return test;
  230. }    // TSLMEC


---------------
Aqua Paris
mood
Google
Posté le 22-02-2004 à 14:26:18  profilanswer
 


Aller à :
Ajouter une réponse
 

Hit Parade