[HELP ] Explication d'un Programme

Explication d'un Programme [HELP ] - Matériels & problèmes divers - Hardware

Marsh Posté le 18-05-2014 à 19:58:17    

Bonjour, J'ai vraiment besoin d'aide cela fait plusieurs jour que j'essaye de comprendre ce programme mais je n’y arrive pas , pouvez vous me l'expliquer (partie par partie) SVP, je suis interrogé demain et je stress merci
j’espère obtenir de l'aide.

 
 
 
int Test_jeux_termine ()
{
int valide = -1;
for(int i=1;i<=3;i++)
//fonction de teste si un des deux joueur a gagne
// donc si il ya alignement horizontal ou vertial ou diagonal d un symbole

{
if((getGrille(i,1)== getGrille(i,2)) && (getGrille(i,1)==getGrille(i,3)) && (getGrille(i,1)=='X' || getGrille(i,1)=='O'))
{
valide = 1;
}
}
for(int j=1;j<=3;j++)
{
// Si on a un alignement vertical, c'est à dire que :
// 1)Le symbole dans toutes les cases d'une colonne sont égaux
// 2)Il y a un symbole dans toutes ces cases et non un espac
// La fonction renvoie true

if((getGrille(1,j)==getGrille(2,j)) && (getGrille(1,j)==getGrille(3,j)) && (getGrille(1,j)=='X' || getGrille(1,j)=='O'))
{
valide = 1;
}
}
// Si on a un alignement dans une diagonale
//
// La fonction revoie true

if((getGrille(1,1)==getGrille(2,2)) && (getGrille(1,1)==getGrille(3,3)) && (getGrille(1,1)=='X' || getGrille(1,1)=='O'))
{
valide = 1;
}
// Si on a un alignement dans l'autre diagonale
//
// La fonction renvoie true

if( ((getGrille(1,3)==getGrille(2,2)) && (getGrille(1,3)==getGrille(3,1))) && (getGrille(1,3)=='X' ||getGrille(1,3) =='O') )
{
valide = 1;
}
return valide ;
}
void remplir_case( char rep_case ) {
    //Déclaration de la variable [Case Horizontale = i]
    int a = readInt(" choisissez une case à l'horizontale :" );
    while ( a>3 || a<1  ){
    a= readInt("Case invalide, veuillez choisir un nombre entre 1 et 3" );
    }
    //Déclaration de la variable [Verticale = j]
   int b = readInt("choisissez une case à la verticale :" );
     while ( b>3 || b<1  ){
    b = readInt("Case invalide, veuillez choisir un nombre entre 1 et 3" );
  }  
    while(getGrille(a,b)!=' ')
    {
     a= readInt("Case invalide, veuillez choisir un nombre entre 1 et 3" );
     b= readInt("Case invalide, veuillez choisir un nombre entre 1 et 3" );
    }
  setGrille(a,b,rep_case);
}  
 
void vider_Grille()
    {
     // pour tester que la grille est vide  
     {for (int k=1 ; k<=3 ;k++)
       for (int m=1 ; m<=3 ;m++)  
        setGrille(m,k,' ');
     }
    }
 
int Grille_plein()
 //pour tester que la grille est plein  
    { int vide =-1;
     {for (int k=1 ; k<=3 ;k++)
       for (int m=1 ; m<=3 ;m++)  
        if (getGrille(k,m)==' ')
          vide=1;
         
     }
     return vide;
    }    
void main(){
    int a=0;
    int b=0;
    int fini = 0;
 
   vider_Grille();
    while (fini == 0  )
    {  
     
      println("Le joueur 1 " );
      remplir_case('X');
     if (Test_jeux_termine()== 1)
         {fini =1;
         println("Le joueur 1 a gagné !" );
         }
      if (Grille_plein()== -1)
      {fini=1;
      println(" Egalite  !" );
      }
     if ( fini ==0 && Grille_plein()!= -1 )
      {
      println("Le joueur 2 " );  
      remplir_case('O');
        if (Test_jeux_termine()== 1 )
            {fini =1;
             println("Le joueur 2 a gagné !" );
           }
       }
     if (Grille_plein()== -1)
     {fini=1;
      println(" Egalite  !" );
      }
       
     }
}
 

Reply

Marsh Posté le 18-05-2014 à 19:58:17   

Reply

Marsh Posté le 18-05-2014 à 20:51:03    

Bonsoir, tu n'es pas dans la bonne section, poste ici : http://forum.hardware.fr/hfr/Progr [...] ujet-1.htm


---------------
mon feed : http://forum.hardware.fr/hfr/Achat [...] #t13351402
Reply

Marsh Posté le 18-05-2014 à 21:05:26    

pour une explication détaillée, ça sera 500€ merci.
 
explication gratuite: c'est un jeu de tic-tac-toe.


Message édité par master71 le 18-05-2014 à 21:08:35

---------------
un jour, moi aussi, je serais grand...
Reply

Marsh Posté le 18-05-2014 à 21:12:36    

Bonsoir je sais que c'est un tic-tac-toe  j'ai oublier de le préciser master71
 
oui je déplace mon sujet rastaben merci

Reply

Sujets relatifs:

Leave a Replay

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