[HELP ] Explication d'un Programme

Explication d'un Programme [HELP ] - Java - Programmation

Marsh Posté le 18-05-2014 à 21:06:45    

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  !" );
      }
       
     }
}


Message édité par medikre le 18-05-2014 à 21:20:38
Reply

Marsh Posté le 18-05-2014 à 21:06:45   

Reply

Marsh Posté le 18-05-2014 à 21:14:33    

j'oubliais: il s'agit d'un tic-tac-toe

Reply

Marsh Posté le 19-05-2014 à 13:56:33    

Ben c'est déjà expliqué en commentaires...


---------------
sheep++
Reply

Marsh Posté le 19-05-2014 à 14:03:38    

Et il manque une partie du programme. De plus c'est posté en section java, mais ça m'a l'air d'être du C très vaguement adapté, qui n'utilise en rien les possibilités de java.
 
A+,


Message édité par gilou le 19-05-2014 à 14:05:43

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 19-05-2014 à 15:05:05    

La détection du gagnant est bien moche :/
 
Au passage, merci d'utiliser les balises [code] pour faciliter la lecture. Et le commentaires en vert, c'est pas évident à lire :(


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Sujets relatifs:

Leave a Replay

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